У меня есть требование воспроизвести звук (.wav-файл) только на левом канале наушников и в другом файле, чтобы играть только на правом канале наушников. Я новичок в C#, пожалуйста, помогите мне решить эту проблему.Как воспроизводить звук только на левом канале наушников и только на правом канале наушников в C#?
Как воспроизводить звук только на левом канале наушников и только на правом канале наушников в C#?
ответ
Я не думаю, что только WPF может это сделать, но вы можете проверить NAudio.
Этот article в проекте кода показывает способ визуализации звука. Если вы можете активно визуализировать звук, вы поймете, что ваш общий стереофонический файл содержит два канала (левый и правый каналы). С помощью этой информации о том, как визуализировать ее, вы можете легко адаптировать поток для уничтожения левого канала (E.G. поставить ноль в левый поток/правый поток). И таким образом, когда вы будете играть в него обычным способом, после этого он будет воспроизводить музыку только в левом или правом ухе.
Вышеупомянутая информация является простой частью, когда у вас есть стереофайл, который имеет два равных канала. Существует также случай, когда ваш стереофайл имеет разные каналы (EG гитара на левом ухе барабан на правом ухе). В этом случае вам придется объединить два канала в один канал, найти дублируемую информацию и, наконец, уничтожить другой канал, который вы не хотите использовать.)
Третья возможность заключается в том, что ваш аудиофайл моно и, следовательно, имеет только один канал. Обычно ваш компьютер будет автоматически дублировать канал из монофайла в стереофайл. Таким образом, он играет на обоих ушах/динамиках. Таким образом, мы никогда не увидим, что файл моно. Однако в программировании, если вы хотите заставить его играть только на одном ухе/канале. Вам придется вручную преобразовать его в стереофайл (добавив пустой канал). И снова у вас будет звук только на одном ухе/динамике.
Надеюсь, это поможет.
var input2 = new Mp3FileReader(@"C:\Users\Public\Music\Sample Music\Kalimba.mp3");
var input1 = new Mp3FileReader(@"C:\Users\Public\Music\Sample Music\Maid with the Flaxen Hair.mp3");
MultiplexingWaveProvider waveProvider = new MultiplexingWaveProvider(new IWaveProvider[] { input1, input2 }, 2);
waveProvider.ConnectInputToOutput(1, 1);
WaveOut wave = new WaveOut();
wave.Init(waveProvider);
wave.Play();
Я добавил следующие строки кода выше, и она работает с 2-мя каналами
waveProvider.ConnectInputToOutput(1, 0);
waveProvider.ConnectInputToOutput(3, 1);
и удалены
waveProvider.ConnectInputToOutput(1, 1);
- 1. iOS: AVSpeechSynthesizer: нужно говорить текст в левом канале для наушников
- 2. Создайте звук только на одном канале pyaudio
- 3. Веб-аудио: Отсутствует звук в правом канале
- 4. Отправка тона только на одну сторону наушников
- 5. Как правильно перемещать звук слева направо от наушников?
- 6. Приложение Cordova только воспроизводит звук из наушников, а не динамики?
- 7. прослушиватель наушников для наушников Android
- 8. Проиграть осциллятор в левом/правом канале с помощью Web Audio Api, Ionic и Crosswalk
- 9. Android, как перенаправить звук на динамики при вставлении наушников?
- 10. Могу ли я отправлять звук на динамики при подключении наушников?
- 11. Отправить сообщение в канале «только для вас»
- 12. Обнаружение наушников через Ionic
- 13. CSS3 окно тень только на верхнем левом и правом углах
- 14. Демон наблюдателя на канале Пушера
- 15. Как отслеживать переключение с наушников на динамик
- 16. Событие на частном канале толкателя, полученном только после обновления страницы?
- 17. Запись звонков с помощью наушников
- 18. Golang: некоторые вопросы на канале
- 19. Обнаружение наушников Android
- 20. Крышка() на канале не постоянна?
- 21. Публикация на конкретном канале/Группа
- 22. функция resend на канале IRC
- 23. Как воспроизводить звук только при нажатой кнопке?
- 24. Сколько осталось на моем канале?
- 25. Выход аудио iOS только для разъема для наушников
- 26. iOS Audio Player - синхронизация файлов в левом и правом каналах
- 27. Потреблять и публиковать сообщения на одном канале
- 28. pubnub C# издательское сообщение на канале без подписки на канал
- 29. Android: Проверка подключения наушников
- 30. Вывод высокочастотных сигнальных наушников
уаг Input2 = новый Mp3FileReader (@ "C: \ Users \ Public \ Music \ Sample Music \ Kalimba.mp3 "); var input1 = новый Mp3FileReader (@ "C: \ Users \ Public \ Music \ Sample Music \ Maid с Flaxen Hair.mp3"); MultiplexingWaveProvider waveProvider = new MultiplexingWaveProvider (новый IWaveProvider [] {input1, input2}, 2); waveProvider.ConnectInputToOutput (1, 1); WaveOut wave = new WaveOut(); wave.Init (waveProvider); волна.Play(); – user3168440
Я использовал приведенный выше код, но его воспроизведение в обоих каналах ... – user3168440