Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
И. Павел ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.064 c
2-1270726208
Lede
2010-04-08 15:30
2010.08.27
Из Stringgrid в Word


2-1271922885
kudatsky
2010-04-22 11:54
2010.08.27
Попадает ли точка в замкнутый многоугольник


2-1273151484
Danco
2010-05-06 17:11
2010.08.27
Сохранение TreeView в текст


2-1268475934
Grab3
2010-03-13 13:25
2010.08.27
ComboBox Видимое в списке и его значение


2-1271748779
Дмитрий. М
2010-04-20 11:32
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский