Windows IoT Raspberry Pi 3 c# 录制音频
Windows IoT Raspberry Pi 3 c# Recording Audio
我正在尝试在我的 Raspberry Pi 3 上录制音频 运行 Windows 10 IoT。
我正在录制音频以存储在 USB 驱动器中。
任何人都可以帮助建议我做错了什么。
提前致谢。
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;
}
}
如果您只想捕获音频,请尝试以下操作:
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 文件中设置了正确的功能:
<Capabilities>
<DeviceCapability Name="microphone" />
</Capabilities>
看看这个教程,它有一些很好的例子:
https://docs.microsoft.com/en-us/samples/microsoft/windows-iotcore-samples/webcam-app/
我正在尝试在我的 Raspberry Pi 3 上录制音频 运行 Windows 10 IoT。 我正在录制音频以存储在 USB 驱动器中。 任何人都可以帮助建议我做错了什么。 提前致谢。
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;
}
}
如果您只想捕获音频,请尝试以下操作:
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 文件中设置了正确的功能:
<Capabilities>
<DeviceCapability Name="microphone" />
</Capabilities>
看看这个教程,它有一些很好的例子:
https://docs.microsoft.com/en-us/samples/microsoft/windows-iotcore-samples/webcam-app/