我怎样才能在 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)。
总结
- 为每个要播放的声音或要播放的歌曲创建一个
Sound
对象
- 为您要控制的每个通道创建一个
SoundChannel
对象。你描述了一个左,一个右,和 athmos(?不知道那是什么)所以至少有 3 个通道。
- 创建一个
SoundTransform
对象
- 使用我上面说明的所需转换设置播放每个频道。
我为解决此问题所做的工作:使用 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");
我有一个 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)。
总结
- 为每个要播放的声音或要播放的歌曲创建一个
Sound
对象 - 为您要控制的每个通道创建一个
SoundChannel
对象。你描述了一个左,一个右,和 athmos(?不知道那是什么)所以至少有 3 个通道。 - 创建一个
SoundTransform
对象 - 使用我上面说明的所需转换设置播放每个频道。
我为解决此问题所做的工作:使用 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");