2017-09-19 17 views
1

Windows 10のIoTを実行しているRasp Pi 3にオーディオを録音しようとしています。 USBドライブに保存するオーディオを録音しています。 私は間違ったことを誰かに助言することができます。 ありがとうございます。Windows IoT Raspberry Pi 3 c#録音オーディオ

private async void RecordBtn_Checked(object sender, RoutedEventArgs e) 
    { 
     //init mediacapture 
     audioCapture = new MediaCapture(); 
     await audioCapture.InitializeAsync(); 

     StorageFolder externalDevices = KnownFolders.RemovableDevices; 
     IReadOnlyList<StorageFolder> externalDrives = await externalDevices.GetFoldersAsync(); 
     StorageFolder usbStorage = externalDrives[0]; 

     var recordFolder = await usbStorage.CreateFolderAsync("Recording"); 

     StorageFile recordFile = await recordFolder.CreateFileAsync("record.mp3", Windows.Storage.CreationCollisionOption.GenerateUniqueName); 

     audioRecording = await audioCapture.PrepareLowLagRecordToStorageFileAsync(MediaEncodingProfile.CreateMp3(AudioEncodingQuality.High), recordFile); 

     await audioRecording.StartAsync(); 

     isRecording = true; 
     RecordStatus.Text = "Recording ... "; 

     //PlayRec.IsEnabled = StopRec.IsEnabled = false; 


    } 

private async void RecordBtn_Unchecked(object sender, RoutedEventArgs e) 
    { 
     if (isRecording) 
     { 
      await audioRecording.StopAsync(); 
      isRecording = false; 

      await audioRecording.FinishAsync(); 
      RecordStatus.Text = "Recording stopped."; 

      //PlayRec.IsEnabled = StopRec.IsEnabled = true; 
     } 

    } 
+0

コードの出力は何ですか、何かエラーが発生しますか? – Isma

+0

コンパイル中にエラーは発生しませんが、レコードボタンを押して実行すると処理されない例外が発生します... – mylim

+0

例外出力を質問に追加できますか? – Isma

答えて

1

あなたは次のことを試して、音声のみキャプチャしたい場合:

<Capabilities>  
    <DeviceCapability Name="microphone" /> 
</Capabilities> 

チェック:

audioCapture = new MediaCapture(); 
var settings = new Windows.Media.Capture.MediaCaptureInitializationSettings(); 
settings.StreamingCaptureMode = Windows.Media.Capture.StreamingCaptureMode.Audio; 
settings.MediaCategory = Windows.Media.Capture.MediaCategory.Other; 
settings.AudioProcessing = Windows.Media.AudioProcessing.Default; 
await audioCapture.InitializeAsync(settings); 

また、あなたがあなたのPackage.appxmanifestファイルの右の機能を設定していることを確認してくださいこのチュートリアルでは、いくつかの良い例があります:

https://developer.microsoft.com/en-us/windows/iot/samples/webcamapp

+0

ありがとうございました!できます!私はそれの背後にある理由は何ですか? – mylim

+0

機能や設定を追加する必要がありましたか? – Isma

+0

私はすでに機能を追加しました。なぜ私のinitプロセスが機能しないのか疑問に思っています。あなたの例のようにすべてのパラメータをセットアップする必要がありますか? – mylim

関連する問題