How to save audio file after recording voice in Xamarin.Forms









up vote
0
down vote

favorite












I am wondering how to save an audio file in Xamarin forms. I can get the location where to save to AppDataDirectory using Xamarin.Essentials:



var mainDir = FileSystem.AppDataDirectory;


But I am not sure how to save it in code, right after recording it using the NateRickard AudioRecorder Plugin:



var recordTask = await recorder.StartRecording();
var audioFile = await recordTastk; //audioFile is of string datatype


Its same as saving/creating any binary file in C#? Say its same as saving an image file? And additionally do I need to use Dependency Injection to save it using platform specific code, or I can manage to only do it from the PCL code?










share|improve this question

























    up vote
    0
    down vote

    favorite












    I am wondering how to save an audio file in Xamarin forms. I can get the location where to save to AppDataDirectory using Xamarin.Essentials:



    var mainDir = FileSystem.AppDataDirectory;


    But I am not sure how to save it in code, right after recording it using the NateRickard AudioRecorder Plugin:



    var recordTask = await recorder.StartRecording();
    var audioFile = await recordTastk; //audioFile is of string datatype


    Its same as saving/creating any binary file in C#? Say its same as saving an image file? And additionally do I need to use Dependency Injection to save it using platform specific code, or I can manage to only do it from the PCL code?










    share|improve this question























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I am wondering how to save an audio file in Xamarin forms. I can get the location where to save to AppDataDirectory using Xamarin.Essentials:



      var mainDir = FileSystem.AppDataDirectory;


      But I am not sure how to save it in code, right after recording it using the NateRickard AudioRecorder Plugin:



      var recordTask = await recorder.StartRecording();
      var audioFile = await recordTastk; //audioFile is of string datatype


      Its same as saving/creating any binary file in C#? Say its same as saving an image file? And additionally do I need to use Dependency Injection to save it using platform specific code, or I can manage to only do it from the PCL code?










      share|improve this question













      I am wondering how to save an audio file in Xamarin forms. I can get the location where to save to AppDataDirectory using Xamarin.Essentials:



      var mainDir = FileSystem.AppDataDirectory;


      But I am not sure how to save it in code, right after recording it using the NateRickard AudioRecorder Plugin:



      var recordTask = await recorder.StartRecording();
      var audioFile = await recordTastk; //audioFile is of string datatype


      Its same as saving/creating any binary file in C#? Say its same as saving an image file? And additionally do I need to use Dependency Injection to save it using platform specific code, or I can manage to only do it from the PCL code?







      c# file audio xamarin.forms save






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 9 at 20:32









      EmilRR1

      776




      776






















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote













          The docs explicitly discuss this:




          Accessing the Recorded File



          There are multiple ways to access the recorded audio file path:



          • The Task-based API will return the file path when the task completes. The Task can be awaited or use standard Task
            continuation APIs.

          • The Event-based API will return the full path to the recorded audio file in the audioFile parameter of the AudioInputReceived event

            handler.

          • The GetAudioFilePath () method on the AudioRecorderService class will return the recorded audio file path.

          These will all return null in the case that no audio has been recorded
          yet or no audio was recorded/detected in the last recording session.



          Once you have the path to the recorded audio file, you can use
          standard file operations (for native/.NET Standard) and/or a cross
          platform file system abstraction like PCLStorage to get a stream to
          the file data.







          share|improve this answer




















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













             

            draft saved


            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53232889%2fhow-to-save-audio-file-after-recording-voice-in-xamarin-forms%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            1
            down vote













            The docs explicitly discuss this:




            Accessing the Recorded File



            There are multiple ways to access the recorded audio file path:



            • The Task-based API will return the file path when the task completes. The Task can be awaited or use standard Task
              continuation APIs.

            • The Event-based API will return the full path to the recorded audio file in the audioFile parameter of the AudioInputReceived event

              handler.

            • The GetAudioFilePath () method on the AudioRecorderService class will return the recorded audio file path.

            These will all return null in the case that no audio has been recorded
            yet or no audio was recorded/detected in the last recording session.



            Once you have the path to the recorded audio file, you can use
            standard file operations (for native/.NET Standard) and/or a cross
            platform file system abstraction like PCLStorage to get a stream to
            the file data.







            share|improve this answer
























              up vote
              1
              down vote













              The docs explicitly discuss this:




              Accessing the Recorded File



              There are multiple ways to access the recorded audio file path:



              • The Task-based API will return the file path when the task completes. The Task can be awaited or use standard Task
                continuation APIs.

              • The Event-based API will return the full path to the recorded audio file in the audioFile parameter of the AudioInputReceived event

                handler.

              • The GetAudioFilePath () method on the AudioRecorderService class will return the recorded audio file path.

              These will all return null in the case that no audio has been recorded
              yet or no audio was recorded/detected in the last recording session.



              Once you have the path to the recorded audio file, you can use
              standard file operations (for native/.NET Standard) and/or a cross
              platform file system abstraction like PCLStorage to get a stream to
              the file data.







              share|improve this answer






















                up vote
                1
                down vote










                up vote
                1
                down vote









                The docs explicitly discuss this:




                Accessing the Recorded File



                There are multiple ways to access the recorded audio file path:



                • The Task-based API will return the file path when the task completes. The Task can be awaited or use standard Task
                  continuation APIs.

                • The Event-based API will return the full path to the recorded audio file in the audioFile parameter of the AudioInputReceived event

                  handler.

                • The GetAudioFilePath () method on the AudioRecorderService class will return the recorded audio file path.

                These will all return null in the case that no audio has been recorded
                yet or no audio was recorded/detected in the last recording session.



                Once you have the path to the recorded audio file, you can use
                standard file operations (for native/.NET Standard) and/or a cross
                platform file system abstraction like PCLStorage to get a stream to
                the file data.







                share|improve this answer












                The docs explicitly discuss this:




                Accessing the Recorded File



                There are multiple ways to access the recorded audio file path:



                • The Task-based API will return the file path when the task completes. The Task can be awaited or use standard Task
                  continuation APIs.

                • The Event-based API will return the full path to the recorded audio file in the audioFile parameter of the AudioInputReceived event

                  handler.

                • The GetAudioFilePath () method on the AudioRecorderService class will return the recorded audio file path.

                These will all return null in the case that no audio has been recorded
                yet or no audio was recorded/detected in the last recording session.



                Once you have the path to the recorded audio file, you can use
                standard file operations (for native/.NET Standard) and/or a cross
                platform file system abstraction like PCLStorage to get a stream to
                the file data.








                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 9 at 20:46









                Jason

                49.9k1089115




                49.9k1089115



























                     

                    draft saved


                    draft discarded















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53232889%2fhow-to-save-audio-file-after-recording-voice-in-xamarin-forms%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Use pre created SQLite database for Android project in kotlin

                    Darth Vader #20

                    Ondo