Свойство AudioGraph DesiredSamplesPerQuantum игнорируется - PullRequest
0 голосов
/ 15 ноября 2018

Я разрабатываю аудио приложение UWP. Последняя версия Windows 10 SDK 1803.

Я хотел бы увеличить SamplesPerQuantum, используемый на AudioGraph моего приложения. Согласно документам , я должен указать свойства DesiredSamplesPerQuantum и QuantumSizeSelectionMode перед созданием AudioGraph.

Я создаю AudioGraph следующим образом:

AudioGraphSettings settings = new AudioGraphSettings(AudioRenderCategory.Media);
settings.DesiredSamplesPerQuantum = 960; // 20ms
settings.QuantumSizeSelectionMode = QuantumSizeSelectionMode.ClosestToDesired;
CreateAudioGraphResult result = await AudioGraph.CreateAsync(settings);
Debug.WriteLine("SamplesPerQuantum=" + result.Graph.SamplesPerQuantum);

Я пробовал все, свойство SamplesPerQuantum всегда равно 480 ...

Это проблема, потому что я получаю щелчки в аудиовыходе при каждой сборке мусора. Я думаю, что квант по умолчанию 10 мс слишком короткий ...

1 Ответ

0 голосов
/ 16 ноября 2018

Я попробовал все, свойство SamplesPerQuantum всегда равно 480 ...

По умолчанию размер кванта равен 10 мс на основе частоты дискретизации по умолчанию.Система выберет квантовый размер, максимально приближенный к указанному вами.если ваша частота дискретизации говорящего устройства ограничена 48000 Гц, SamplesPerQuantum будет ограничен 480. Для вашего требования вы можете установить частоту дискретизации 96000 Гц.Тогда ваши настройки могут быть доступны.

enter image description here

Я обсуждал с медиа-командой, и они дают следующий ответ.Общая идея DesiredSamplesPerQuantum связана с вашим оборудованием.

Обновление

Поведение, которое видит клиент, зависит от базового звукового оборудования.Свойство DesiredSamplesPerQuantum является лишь рекомендацией для базового оборудования.Если аппаратное обеспечение / драйвер не поддерживает запрошенный квант, он не будет установлен.Когда GC запускается, могут быть щелчки или хлопки в аудио.Это потому, что управляемые языки недетерминированы.

И это блог Джеймса Дейли , на который вы можете сослаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...