我想使用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/