У меня возникают проблемы с AudioGraph в приложении UWP. Моя проблема в том, что когда я добавляю добавление Исходящего подключения к моему узлу устройства ввода, я получаю исключение, заброшенное с помощью HRESULT: 0x88960001.Настройка UWP AudioGraph не работает на всех устройствах, HRESULT: 0x88960001 наброшено на AddOutgoingConnection
Использование проб и ошибок Я понял, что проблема связана с профилем MediaEncoding, который я установил как на входном, так и на выходном узле ... но теперь у меня есть 2 настройки, которые работают только на одной машине, а другая работает только на другой машине ... Мне нужен был аудиоканал Single Channel, 16 бит с образцом 16K в PCM.
Код, который я использую, довольно прост и основан на образцах, которые существуют в Интернете, дело в том, что оно работает только на некоторых микрофонах, а не на других ... Мне нужно, чтобы оно было общим и всегда имело одинаковый выход, что я могу ввести это в свою конечную точку обслуживания.
Я оставил настройки 2 AudioEncodingProperties там (один из них закомментирован)
var result = await AudioGraph.CreateAsync(
new AudioGraphSettings(AudioRenderCategory.Media));
if (result.Status == AudioGraphCreationStatus.Success)
{
this.graph = result.Graph;
var microphone = await DeviceInformation.CreateFromIdAsync(
MediaDevice.GetDefaultAudioCaptureId(AudioDeviceRole.Default));
// Low gives us 1 channel, 16-bits per sample, 16K sample rate.
var outProfile = MediaEncodingProfile.CreateWav(AudioEncodingQuality.Low);
//outProfile.Audio = AudioEncodingProperties.CreatePcm(16000, 1, 16);
outProfile.Audio = AudioEncodingProperties.CreatePcm(44100, 2, 32);
var inProfile = MediaEncodingProfile.CreateWav(AudioEncodingQuality.Low);
//inProfile.Audio = AudioEncodingProperties.CreatePcm(16000, 1, 16);
inProfile.Audio = AudioEncodingProperties.CreatePcm(44100, 2, 32);
var outputResult = await this.graph.CreateFileOutputNodeAsync(file,
outProfile);
if (outputResult.Status == AudioFileNodeCreationStatus.Success)
{
this.outputNode = outputResult.FileOutputNode;
var inputResult = await this.graph.CreateDeviceInputNodeAsync(
MediaCategory.Speech,
inProfile.Audio,
microphone);
if (inputResult.Status == AudioDeviceNodeCreationStatus.Success)
{
//EXEPTION IS THROWN HERE
inputResult.DeviceInputNode.AddOutgoingConnection(
this.outputNode);
this.graph.Start();
}
}
}
else
{
throw new Exception("Could not create AudioGraph");
}
Спасибо ребят за нашу помощь
Возможно, качество 16Khz не поддерживается повсеместно, но качество CD или DAT, с другой стороны, будет. Решение заключалось бы в повторной настройке вашего аудио до его экспорта. – Aybe