| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > Воспроизведение муз. файлов формата ХМ |
| Автор: Letion 3.8.2010, 11:19 | ||
Здравствуйте, Уважаемые программисты! Я воспроизвожу муз.файлы формата *.хм в своей программе. Файлы грузятся из ресурсов. Вот код:
Но не могу остановить данный файл, после окончания - он воспроизводится бесконечно. Если ставлю команду XMStop,то файл сразу останавливается, не успев даже заиграть. Как быть? Подскажите, пожалуйста, нужную команду! |
| Автор: Snowy 3.8.2010, 11:54 |
| MiniFMOD играет всегда по кругу. Так что нужно самому ловить момент, когда останавливать. Если размер мелодии известен заранее, то можно просто выждать нужное время и дать стоп. Если не известен, то периодически проверяем результат XMGetRow. По мере воспроизведения эта циферка растёт. Как только она снова сбрасывается на 0 - значит пошли сначала - нужно стопорить. |
| Автор: Letion 3.8.2010, 13:05 | ||||
То есть получается код примерного плана? Просто никогда не работал с XMGetRow:
|
| Автор: Snowy 4.8.2010, 11:00 | ||
| XMGetOrder возвращает номер воспроизводимой в данный момент страницы. Как правило страницы идут по порядку, начиная с 0. Пример, играем небольшой файлик. Так, из головы беру пример, что будет возвращать XMGetOrder: 0 1 2 3 4 3 4 5 6 0 - вот тут пошёл повтор - цепочка начинается заново 1
|
| Автор: Letion 4.8.2010, 11:04 |
| Спасибо! Попробую ближе к вечеру |