我想使用C#.net以以下方式播放立体声

这是立体声轨道:可以仅收听L或R channel ,或两者都收听
同时播放 channel 。如果您仅在 channel 上播放,请将音频单声道输出,这样
您可以通过扬声器或耳机听到一个 channel

预先感谢您的任何帮助

最佳答案

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;
}

关于c# - 使用C#.net将立体声作为单声道播放为不同声道,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2651201/

10-11 04:58