Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

требется проиграть ряд коротких ;wav-ок из памяти... [D6, WinXP]


pasechnik ©   (2002-12-15 17:26:00) 

а конкретнее, возникла проблема с Playsound из mmsystem, каждая вавка длительностью 60мс, и при проигрывании их Playsound-ом с параметром SND_SYNC возникают паузы между wav порядка 20-25мс, а их как раз и не надо. Требуется получить безынтервальный пакет. Пытался играть длительностью файлов - не помогает, snd_nostop - то же самое. Возможно стоит считать их в память а потом проиграть? Если можно примерный набросок кода.


zavdim   (2002-12-17 06:34:00) [1]

Пример писать не буду - поковыряйся.
я бы так сделал:
1. Все звуки одного формата - по битовости, частоте.
2. Можешь их все загрузить в память.
3. причем загрузить можешь только тела - без заголовков.
4. определяешь нужную последовательность.
5. формируешь в памяти эту последовательность из своих кусков и цепляешь на нее заголовок - он такой же как и у одиночных, только длину надо правильно проставить.
6. Затем играешь PlaySound из памяти этот кусок.
Возможно есть и другие решения, но пока с такой проблемой не сталкивался - посему другого решения не знаю.


pasechnik   (2002-12-16 22:55:00) [2]

Мне нужен пример показывающий каким образом можно имея два файла wav на диске или в ресурсах exe проиграть их друг за другом без паузы, а ля СКЛКЕИТЬ, подготовить массив данных и прогнать на звук.кар.


zavdim   (2002-12-16 07:02:00) [3]

Тебе формат Wav-ки надо, чтоб правильно склеить или как?


pasechnik   (2002-12-15 18:29:00) [4]

я и имел это ввиду, сборка в памяти,в принципе на помежутки в 5-10мс можно закрыть глаза. Может есть что-нибудь на эту тему?


Anatoly Podgoretsky   (2002-12-15 17:43:00) [5]

Дело наверно не с памятью, а самой системой, нужно время на вызов, инициализацию, если возможно, то стоить делать не одну вавку в памяти, а сразу пакет, то есть склеить их в одну целую.
За кодом надо в форум Мультимедия


Наверх

Титульная страница Поиск, карта сайта Написать письмо