我怎样才能在 as3 中使用超过 2 个输出通道

how can I use more then 2 output channels in as3

我有一个 USB 8 通道声卡。我怎样才能使用闪光灯的这 8 个通道来做一些事情,比如通道 1+2 上的扬声器立体声,以及其他通道上的一些声音。

问候。

如果你问如何使用 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 对象。你描述了一个左,一个右,和 athmos(?不知道那是什么)所以至少有 3 个通道。
  3. 创建一个 SoundTransform 对象
  4. 使用我上面说明的所需转换设置播放每个频道。

我为解决此问题所做的工作:使用 Banana Voicemeeter 将声音从两个不同的应用程序路由到不同的扬声器。

How can I use these 8 channels from flash to do something like the speaker stereo on channel 1+2, and some atmospherics on the other channels.

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

例如:您的stereo.aac只能定义左前 + 右前...而您的atmos1.aac 使用 Back Left,但是文件 atmos2.aac 使用 Back Right 等等...(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");