如何在as3中使用2个以上的输出通道

时间:2016-10-14 11:15:40

标签: actionscript-3 soundchannel

我有一个usb 8声道声卡。如何使用闪光灯中的这8个通道来完成通道1 + 2上的扬声器立体声,以及其他通道上的某些通道。

问候。

3 个答案:

答案 0 :(得分:1)

  

如何使用闪光灯中的这8个通道来执行类似的操作   通道1 + 2上的扬声器立体声,以及其他通道上的一些气氛。

AAC编解码器支持8声道音频(7.1环绕声)。
您可以加载各种AAC声音(在创建该AAC文件期间,每个文件的音频内容都映射到特定频道)。

例如:您的stereo.aac只能定义左前方 + 前右 ...而您的atmos1.aac使用返回左,但文件atmos2.aac使用后退等等...(AAC可以包含在某些仅音频的MP4或FLV文件中)。

尝试下面的播放测试。如果它听起来像你想要实现的那样,那就继续使用AAC。

(音频来源:https://www2.iis.fraunhofer.de/AAC/multichannel.html

var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.client = new Object();

ns.play("https://www2.iis.fraunhofer.de/AAC/7.1auditionOutLeader_v2_rtb.mp4");

答案 1 :(得分:0)

如果你问如何使用8种不同的扬声器......呃,我99%的闪光灯不支持,但看起来支持5.1环绕声。但this值得关注。

分割立体声

要独立使用左右扬声器,请执行以下操作:

创建2个SoundChannel个对象和2个Sound个对象。将1设置为您想要的左侧输出,将右侧设置为1

var leftSound:Sound = new Sound("leftSound");
var rightSound:Sound = new Sound("rightSound");
var trans:SoundTransform = new SoundTransform(1, -1);//volume 1, panning full left
var leftChannel:SoundChannel = leftSound.play(0,1,trans);
trans.pan = 1; // set panning to full right
var rightChannel:SoundChannel = rightSound.play(0,1,trans);

如果这不起作用,请在文档中查找。 docs here

对于其他频道执行相同操作,但如果您希望均匀分布,请不要将平移(或将其设置为0)弄乱。

摘要

  1. 为您要播放的每个声音或要播放的歌曲创建一个Sound对象
  2. 为您要控制的每个频道创建一个SoundChannel对象。你描述了一个左,右,和一个(?不要知道那是什么),所以这至少是3个频道。
  3. 创建SoundTransform对象
  4. 使用所需的变换设置播放每个频道,如上所示。

答案 2 :(得分:0)

我采取了哪些措施来解决这个问题:使用Banana Voicemeeter将声音从两个不同的应用程序路由到不同的扬声器。