Воспроизвести стереозвук как монозвук для другого канала, используя c # .net - PullRequest
2 голосов
/ 16 апреля 2010

Я хочу воспроизвести стереозвук следующим образом, используя c # .net

Это стереофоническая дорожка: позволяет слышать только L или только R канал, или оба каналы одновременно. Если вы играете только на канале, поставьте аудио в моно, чтобы Вы можете услышать один канал в динамиках или наушниках

Заранее спасибо за любую помощь

Ответы [ 2 ]

2 голосов
/ 11 января 2011

В Alvas.Audio вам необходимо использовать AudioCompressionManager.MergeStereo и AudioCompressionManager.SplitStereo методы

См. Псевдокод ниже

    AudioCompressionManager.SplitStereo(stereo, left, right);

    PlayerEx plex = new PlayexEx(); 
    plex.Done += new PlayerEx.DoneEventHandler(plex_Done);   
    plex.OpenPlayer(format);      
    plex.StartPlay();

    enum State {    Left,    Right,    Both }

    void plex_Done(object sender, DoneEventArgs e) {    
      byte[] left50ms = Cut(left, 50);    
      byte[] right50ms = Cut(right, 50);    
      switch (State)    {
        case State.Left:
          plex.AddData(AudioCompressionManager.MergeStereo(left50ms, left50ms));
        break;
        case State.Right:
          plex.AddData(AudioCompressionManager.MergeStereo(right50ms, right50ms));
        break;
        case State.Both:
          plex.AddData(AudioCompressionManager.MergeStereo(left50ms, right50ms));
        break; 
}
0 голосов
/ 19 мая 2010

Я нашел решение для этого.

Я нашел библиотеку с именем zLib. Вы можете использовать эту библиотеку для воспроизведения аудио, микширования каналов и многих других. Эта библиотека очень полезна для работы со звуком и написана на многих языках, таких как VC ++, C # .Net, VB.Net и др.

zLib для звуковой работы

Это лучшая библиотека, которую я основал для звука.

...