Решение проблемы звука в одно ухо у некоторых роликов на Youtube

в 14:28, , рубрики: Audio, naudio, powershell, YouTube, ненормальное программирование, метки: , , ,

Столкнулся с проблемой: при просмотре некоторых роликов на youtube звук идет только на левый спикер. При прослушивании через наушники это доставляет некоторые неудобства. Существует простое и достаточно эффективное решение: вставить коннектор в гнездо не полностью. Но это решение не подошло и пришлось искать другое.

Предлагаю решение проблемы для Windows 7 с использованием powershell и библиотеки для работы со звуком NAudio:

  1. Подключить типы из библиотеки:
    add-type -path 'NAudio.dll'
    
  2. Узнать id устройства вывода звука по умолчанию:
    [NAudio.Wave.DirectSoundOut]::Devices
    
  3. Сменить устройство для вывода звука по умолчанию на любое альтернативное
    Control Panel->Hardware and Sound->Sound
  4. Выполнить следующий код, предварительно заменив 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()
    

  5. Остановить перенаправление можно так:
    $waveIn.stopRecording()
    $waveOut.stop()
    
  6. Не забудьте вернуть обратно устройство по умолчанию.

Автор: dtestyk

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js