WasapiLoopbackCapture воспроизводит тишину на некоторых устройствах, когда звук динамиков отключенC#

Место общения программистов C#
Ответить
Anonymous
 WasapiLoopbackCapture воспроизводит тишину на некоторых устройствах, когда звук динамиков отключен

Сообщение Anonymous »

Я использую библиотеку NAudio и записываю «то, что вы слышите», используя ее WasapiLoopbackCapture очень упрощенным способом:

Код: Выделить всё

        var outputFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "NAudio");
Directory.CreateDirectory(outputFolder);
var outputFilePath = Path.Combine(outputFolder, "recorded.pcm");

var loopback = new WasapiLoopbackCapture();
var fileWriter = new WaveFileWriter(outputFilePath, loopback.WaveFormat);
loopback.RecordingStopped += (s, a) => { fileWriter.Dispose(); };
loopback.DataAvailable += (object? sender, WaveInEventArgs args) =>
{
fileWriter.Write(args.Buffer, 0, args.BytesRecorded);
};
Затем я воспроизвожу видео на YouTube и отключаю звук динамиков.
На большинстве устройств это работает хорошо, и созданный файл содержит звук, который воспроизводится на устройстве, независимо от того, отключены динамики или нет.
Но есть некоторые устройства, в которых, когда динамики отключены, звук принимается, и, следовательно, содержимое файла представляет собой просто тишину.
Я не уверен, что происходит и как это решить, Я пробовал обновить драйверы и создать свою собственную версию WasapiLoopbackCapture для смены аудиоустройств и т. д., но на данный момент ничего не работает.
Кто-нибудь знает, что здесь происходит и как я могу добиться этого на всех устройствах?
Вот пример устройства, на котором происходит плохое поведение:

Код: Выделить всё

ACER Aspire 3 A315-23-R8T0
Windows 10 Pro 22H2 Build 19045.3208
Realtek(R) Audio
Driver Provider: Microsoft
Driver Version: 10.0.19041.1
Для справки, я также разместил эту проблему на NAudio.

Подробнее здесь: https://stackoverflow.com/questions/767 ... rs-are-mut
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»