1

J'essaie d'enregistrer de l'audio sur mon Rasp Pi 3 sous Windows 10 IoT. Je suis en train d'enregistrer de l'audio pour le stocker dans un lecteur USB. Quelqu'un peut-il aider à conseiller ce que j'ai fait mal. Merci d'avance.Windows IoT Raspberry Pi 3 C# Enregistrement audio

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

Quelle est la sortie de votre code, avez-vous une erreur? – Isma

+0

pas d'erreur lors de la compilation .. mais lors de l'exécution que j'appuie sur le bouton d'enregistrement .. il frappe l'exception non gérée ... – mylim

+0

Pouvez-vous ajouter la sortie de l'exception à la question? – Isma

Répondre

1

Si vous voulez capturer uniquement audio, effectuez les opérations suivantes:

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); 

Assurez-vous également que vous avez défini les bonnes capacités dans votre fichier Package.appxmanifest:

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

Vérifier ce tutoriel, il a quelques bons exemples:

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

+0

Merci l'homme! Ça marche! puis-je savoir quelle est la raison derrière tout cela? – mylim

+0

Avez-vous dû ajouter les capacités ou les paramètres? – Isma

+0

J'ai déjà ajouté les capacités ... je me demandais juste pourquoi mon processus d'initialisation ne fonctionnait pas .. dois-je configurer tous les paramètres comme dans votre exemple? – mylim