Как я могу использовать более 2 выходных каналов в as3

У меня есть 8-канальная звуковая карта USB. Как я могу использовать эти 8 каналов от вспышки, чтобы сделать что-то вроде стерео динамика на канале 1+2, и немного Athmos на других каналах.

С уважением.

3 ответа

Решение

Как я могу использовать эти 8 каналов от вспышки, чтобы сделать что-то вроде стерео динамика на канале 1+2 и немного атмосферы на других каналах.

Кодек 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");

Что я сделал, чтобы исправить это: с помощью Banana Voicemeeter, чтобы направить звук от двух разных приложений к разным динамикам.

Если вы спрашиваете, как использовать 8 разных динамиков... Мм, я на 99% не поддерживаю вспышку, но похоже, что поддерживается объемное звучание 5.1. Но это стоит посмотреть.

разделить стереозвук

Чтобы использовать левый и правый динамики независимо, сделайте следующее:

Создать 2 SoundChannel объекты и 2 Sound объекты. Установите 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);

Посмотрите это в документации, если это не работает. документы здесь

Сделайте то же самое для дополнительных каналов, но не связывайтесь с панорамированием (или устанавливайте их в 0), если вы хотите, чтобы атмосфера была равномерно распределена.

резюме

  1. Создать Sound объект для каждого звука, который вы хотите воспроизвести или песню, которую вы хотите играть
  2. Создать SoundChannel Объект для каждого канала, который вы хотите контролировать. Вы описали left, right и athmos(? Не знаете что это), так что это как минимум 3 канала.
  3. Создать SoundTransform объект
  4. Воспроизведите каждый канал, используя желаемые настройки преобразования, как показано выше.
Другие вопросы по тегам