Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Управление звуком


Автор: Yogurt 22.1.2013, 15:44
Есть компьютер (Windows XP), к которому подключены 2 динамика (колонки).
Есть набор коротких звуков.
Есть Visual Studio 2008

Вопрос: Как организлвать воспроизведение звуковых файлов отдельно на каждом динамике.

P.S. Вопрос можно поделить пополам: 1) как воспроизвести звук на динамики? 2) Как воспроизвести звук на одном динамике?

Автор: borisbn 22.1.2013, 18:00
Цитата(Yogurt @  22.1.2013,  15:44 Найти цитируемый пост)
как воспроизвести звук на динамики?

http://msdn.microsoft.com/en-us/library/windows/desktop/dd743680(v=vs.85).aspx

Цитата(Yogurt @  22.1.2013,  15:44 Найти цитируемый пост)
Как воспроизвести звук на одном динамике? 

Этой функцией никак, но можно поизвращаться - создать по две копии каждого файла. Каждая копия должна быть стерео, причём в первом файле в левом канале будет записан звук, а в правом канале - тишина. Во втором файле - наоборот. Когда же нужно проиграть этот звук на левом динамике - просто проигрывается первый файл. Когда на правом - второй.
Такие файлы можно за 5 сек. сделать в каком-нибудь звуковом редакторе, например в CoolEdit. М.б. есть консольные утилитки (а ля ffmpeg) для этого - хз. погугли

Автор: kuzulis 22.1.2013, 20:51
Или DirectSound в помощь

Автор: bsa 23.1.2013, 11:59
А еще можно кроссплатформенный OpenAL заюзать. Там вообще все просто - расставляешь виртуальные источники в пространстве вокруг слушателя и получаешь удовольствие.

Автор: Yogurt 24.1.2013, 17:07
Всем большое спасибо
Пока начали делать, как borisbn предложил.
На самом деле всё намного сложнее, так как калонок 8 шт. (система 7.1)

Если ещё есть предложения - пишите, так как метод от borisbn прост, но дико неудобен.

Автор: borisbn 24.1.2013, 17:46
Цитата(Yogurt @  24.1.2013,  17:07 Найти цитируемый пост)
На самом деле всё намного сложнее, так как калонок 8 шт. (система 7.1)


и тут вспоминается анекдот/байка:
молодому бойцу дали задание: разобрать и почистить генератор. Читает он инструкцию: "Снимите крышку генератора". Ну, сказано - сделано, снимает. А она не поддаётся. Он и пласкогубцами и монтировкой поддеть пытался... Никак. В итоге взял зубило, молоток - сбил нахрен эту крышку. Читает инструкцию дальше: ", открутив предварительно 16 болтов"

Автор: bsa 25.1.2013, 11:47
Yogurt, тебе вообще зачем это нужно?

Автор: Yogurt 25.1.2013, 14:37
Для макета кабина самолёта. Большая часть систем моделируется с одного компа с виндой. В том числе и управление звуковыми сигналами при различных ситуациях. В кабине есть динамики. Собственно, для разных ситуаций звучат заданные звуки из определённых динамиков.

Автор: Dem_max 25.1.2013, 14:54
используй библиотеку BASS там все есть с примерами.

Автор: bsa 25.1.2013, 16:39
ну или тот же OpenAL (это что-то вроде OpenGL, но для звука), который в принципе бесплатен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)