Столкнулся с проблемой: при просмотре некоторых роликов на youtube звук идет только на левый спикер. При прослушивании через наушники это доставляет некоторые неудобства. Существует простое и достаточно эффективное решение: вставить коннектор в гнездо не полностью. Но это решение не подошло и пришлось искать другое.
Предлагаю решение проблемы для Windows 7 с использованием powershell и библиотеки для работы со звуком NAudio:
- Подключить типы из библиотеки:
add-type -path 'NAudio.dll'
- Узнать id устройства вывода звука по умолчанию:
[NAudio.Wave.DirectSoundOut]::Devices
- Сменить устройство для вывода звука по умолчанию на любое альтернативное
Control Panel->Hardware and Sound->Sound - Выполнить следующий код, предварительно заменив id устройства на собственное:
$waveIn = new-object NAudio.Wave.WasapiLoopbackCapture $waveOut = new-object NAudio.Wave.DirectSoundOut([GUID]"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") $waveInProvider = new-object NAudio.Wave.WaveInProvider($waveIn) $waveProvider16 = new-object NAudio.Wave.WaveFloatTo16Provider($waveInProvider) $monoProvider16 = new-object NAudio.Wave.StereoToMonoProvider16($waveProvider16) $monoProvider16.leftVolume = 1 $monoProvider16.rightVolume = 1 $waveOut.init($monoProvider16) $waveOut.play() $waveIn.startRecording()
- Остановить перенаправление можно так:
$waveIn.stopRecording() $waveOut.stop()
- Не забудьте вернуть обратно устройство по умолчанию.
ссылка на оригинал статьи http://habrahabr.ru/post/201870/
Добавить комментарий