Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Как проиграть несколько звуков из ресурса?   Найти похожие ветки 

 
И. Павел ©   (2010-02-05 22:11) [0]

Здравствуйте. В ресурсе имеется несколько звуковых файлов: .wav (PCM) и .wav с mp3 кодеком. Нужны следующие возможности:
1) Воспроизводить несколько звуков одновременно
2) Зацикливать некоторые из звуков
3) Останавливать некоторые из звуков (лучше "пауза" но можно и "стоп")
4) Программа должна состоять из единственного файла - исполнимого.
Подскажите, пожалуйста, как все это реализовать?

Рассматривал такие методы:
1.SndPlaySound - каждый очередной вызов прекращает проигрывание предыдущих звуков.

2.Через MCI - не знаю - можно ли передавать туда ресурсы?

 "open waveaudio shareable"
 "play "C:\xyz\BackgroundMusic.wav""
 "play "C:\xyz\AnotherMusic.wav""
 "close waveaudio"


3. DirectShow. Никогда им раньше не пользовался. Если простое проигрывание файлов иначе сделать не получится, наверное, сделаю через него.


 
antonn ©   (2010-02-05 22:24) [1]

если к программе добавить bass.dll, то скажу, иначе не скажу :)


 
Anatoly Podgoretsky ©   (2010-02-05 22:29) [2]

Справка> sndPlaySound is being maintained for backward compatibility.


 
И. Павел ©   (2010-02-05 23:17) [3]


> Anatoly Podgoretsky ©

Я нашел эту фразу в MSDN, но там, кажется, не сказано, что теперь используют на замену SndPlaySound. Подскажите, пожалуйста, что используют вместо SndPlaySound теперь? Может быть, как раз DirectShow, или что-то другое?


> antonn ©

Спасибо за вариант. Пока искал способы работы со звуком тоже натыкался на эту библиотеку. Но дело в том, что я хотел бы сделать программу в виде единственного файла - чем добавлять dll лучше вынести звуковые файлы - плюс в том, что пользователь сможет их изменять на свой вкус.


 
Anatoly Podgoretsky ©   (2010-02-05 23:27) [4]

> И. Павел  (05.02.2010 23:17:03)  [3]

PlaySound


 
Anatoly Podgoretsky ©   (2010-02-05 23:35) [5]

PlaySound

1) Воспроизводить несколько звуков одновременно
Вроде не может.

2) Зацикливать некоторые из звуков
Запросто

3) Останавливать некоторые из звуков (лучше "пауза" но можно и "стоп")
Не знаю

4) Программа должна состоять из единственного файла - исполнимого.
Никаких проблем, может играть из файла, ресурса, памяти

И многое другое, но не все.


 
Дурак   (2010-02-06 02:50) [6]

Может я дурак,  а если заюзать через нити?


 
Германн ©   (2010-02-06 03:15) [7]


> Дурак   (06.02.10 02:50) [6]
>
> Может я дурак,  а если заюзать через нити?

Может ты и не дурак, но сам вопрос дурной.


 
KilkennyCat ©   (2010-02-06 06:32) [8]


> Дурак   (06.02.10 02:50) [6]

ради одновременности? необязательно. Нет особых проблем даже проиграть на каждый канал что-то отдельное, не говоря уж о стандартном микшировании.


 
И Павел   (2010-02-06 13:08) [9]


> Anatoly Podgoretsky ©

Спасибо. Для текущей задачи мне не совсем подходит, но на будущее запомню, что проиграть файл из ресурса можно одной функцией.


> Может я дурак,  а если заюзать через нити?

Спасибо. Но (кажется, в Delphi потоки и нити не отличаются?) так я уже пробовал. Тоже, если предыдущий звук запущен асинхронно, он прерывается, а если синхронно - не пускает новый.


> Нет особых проблем даже проиграть на каждый канал что-то
> отдельное, не говоря уж о стандартном микшировании.

Насколько я понимаю, речь идет о DirectSound? Если нет - пожалуйста, поясните.



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.063 c
2-1269095631
r_yevgeniy
2010-03-20 17:33
2010.08.27
Программа поразрядной инверсии десятичных чисел


2-1269717199
Studd
2010-03-27 22:13
2010.08.27
Алгоритм заполнения фигуры


2-1270565783
Buzzik
2010-04-06 18:56
2010.08.27
Проблема с потоками


15-1274255990
nobody
2010-05-19 11:59
2010.08.27
[MSBuild Error] The "DCC" task failed unexpectedly.


15-1269089984
И. Павел
2010-03-20 15:59
2010.08.27
Задачка по физике. Некорректные условия?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский