Войти
ПрограммированиеФорумЗвук

DirectX Звук. Помогите реализовать схему.

#0
22:18, 21 авг. 2008

Вот есть мысль реализовать следующую набросанную мной схему:
shema | DirectX Звук. Помогите реализовать схему.
Никогда не использовал DirectX, подскажите, пожалуйста, куда копнуть. Нет желания подробно разбираться во всем пакете, нужно просто добиться эффекта: "Один выход звуковухи - 2 файла mp3". Буду благодарен за совет и уделенное время.


#1
18:13, 24 авг. 2008

ketzer
Создаешь четыре Secondary Sound-буфера, грузишь туда свои MP3 (декодер за тобой), у первого и третьего панораму на -10000, у 2 и 4 на 10000...

#2
10:09, 2 окт. 2008

требуеться реализовать подобную схему, с разницей что на 4 динамика нужно выводить 128 секондари буфера по 32 на каждый динамик определение им панорамы -10000 и 10000 даёт странный эффект, звук выводиться на 3  динамика  причём 3 динамик это копия первого 

#3
16:35, 2 окт. 2008

wolfwood
Разве нет ограничения на кол-во вторичных буферов в 32?

#4
16:36, 2 окт. 2008

wolfwood
Совет: я бы использовал XAudio2 - там это наверное проще всего сделать.
Разобраться конкретно в XAudio2 проще простого - хелп из DXSDK :)

Функция SetOutputMatrix

P.S. Только вместо MP3 юзать лучше WMA (если возможно) тогда и декодер сразу будет.

#5
9:48, 30 окт. 2008

Спасибо за советы.

Пока получилось проиграть 4 wav файла а DirectSound, раскидать их по панораме как ув.Mikle подсказывал. Но все файлы микшируются в первом выходе звуковухи, т.е. в левом динамике играет два файла и в правом, соответственно, воспроизводятся оставшиеся два. Конфиг и в виндах и принудительно ставил на SPEAKER_QUAD. Как указать что играть надо в другой выход на звуковухе?

Подозреваю что копать надо в сторону WAVEFORMATEX, а точнее WAVEFORMATEXTENSIBLE. Но, если я верно понимаю, то она читает сразу многоканальный звуковой поток. Может стоит принудительно создать такой поток из 4 файлов? т.е. побайтово сформировать буфер для этой структуры, типа примерно буфер="L1R1L2R2L3R3L4R4..." и передать его на воспроизведение? Но это как-то совсем выглядит, как в каменном веке...

ПрограммированиеФорумЗвук

Тема в архиве.