| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
ASV Новенький
Зарегистрирован: 13.01.2007 Сообщения: 4
|
Добавлено: Сб Янв 13, 2007 2:13 am Заголовок сообщения: DirectShow&Midi |
|
|
| Нашёл пример аудио-видеоплеера. Пытаюсь воспроизвести миди-файлы. И всё бы ничего, но вот беда - IMediaPosition возвращает текущее значение в миллисекундах. Подскажите, чего сделать, что бы получить текущию позицию в "родных" для миди-файла единицах? |
|
| Вернуться к началу |
|
 |
ASV Новенький
Зарегистрирован: 13.01.2007 Сообщения: 4
|
Добавлено: Чт Янв 18, 2007 9:02 pm Заголовок сообщения: |
|
|
И тишина... И только мёртвые с косами стоят...
В общем дело обстояло так: При создании своих любительских програмМулек, не мудрствуя лукаво, всегда использовал простой, но проверенный временем, родной MMControl. Но, дело обернулось так, что потребовалось сделать синхронизированную полосу прокрутки. Ну, дурное дело - не хитрое. Да не тут-то было. Выяснилось, что при продолжении воспроизведении после остановки или паузы происходит странная такая штука - часть инструментов безвозвратно теряются. Я к нему (MMControlu) и так и эдак, со словами и без слов..., но вовремя остановился. Делать нечего полез искать другой плеер. И, о! Всемогущий послал мне на этот раз замечательнейший плеер в примере к DirectShow. Дружно я взялся за дело. Всю свою программулину перепахал и удачно на мой взгляд интегрировал данный плеер в структуру программы. Вроде бы даже и работает. Обрадовался я такому повороту событий. Ну, думаю, недоделки есть, но основной объём уже выполнен. Прыгая радостно от восторга, обливая себя с ног до головы хвалой, комплиментами и личным признанием, между делом запустил караоке файл и ... Да, да, да! Именно с этого места всё и началось. Быстро выяснилось, что указанный плеер возвращает миллисекунды. А МНЕ НУЖНЫ МУЗЫКАЛЬНЫЕ ИНТЕРВАЛЫ!!! Такие, какие возвращает MMControl при проигрывании миди-файлов (VB). Ну, думаю, не беда - залезу в интернет и найду ту самую волшебную команду, при помощи которой в одночасье решу возникшую проблемму. Да не тут-то было. Три дня поисков не дали ровным счётом ничего, кроме "дельных" предложений изучить DirectShow и воспользовавшись некоторыми из его достоинств, обойти возникшие трудности. Потыркался-помыркался, нашёл несколько примеров миди-плееров, и пришёл к выводу, что быстрее и надёжнее будет воспользоваться API функцией mciSendString и быстренько смастерить простенький, незатейливый плеерок. К слову сказать, что к тому времени прошло дней 10-12, а воз был и поныне там.
Ребяяятыыыыы..... Ё-моё! Оказалось, что используя mciSendString, я остаюсь со всё той же проблемой, с которой всё и началось - потеря части инструментов при возобновления воспроизведения. Круг замкнулся...
Но должен Вам признаться, что Господь не бросил меня на произвол судьбы и подарил мне понимание того, что перед тем, как продолжить проигрывание миди файла, необходимо спозиционировать миди устройство к самому началу (seek to start), и только после этого продолжить с того места, где была остановка (play Midi from oldPosition).
И всё... Пробовал конечно с "родным" MMControl-ом сделать, но там ничего не вышло.
Вот так-то. За 5 дней на этом форуме ни одного совета! А вы говорите... Эх... |
|
| Вернуться к началу |
|
 |
WondeRu Главвред :)

Зарегистрирован: 30.10.2006 Сообщения: 199 Откуда: Самара
|
Добавлено: Пт Янв 19, 2007 6:43 pm Заголовок сообщения: |
|
|
Так сделал или нет? Не понял из поста |
|
| Вернуться к началу |
|
 |
ASV Новенький
Зарегистрирован: 13.01.2007 Сообщения: 4
|
Добавлено: Пт Янв 19, 2007 11:21 pm Заголовок сообщения: |
|
|
| Сделал. С mciSendString. А хотелось бы с DirectShow. |
|
| Вернуться к началу |
|
 |
ASV Новенький
Зарегистрирован: 13.01.2007 Сообщения: 4
|
Добавлено: Вс Янв 21, 2007 11:47 pm Заголовок сообщения: |
|
|
| Ё-моё! Может кто-нибудь чего-нибудь подскажет?! Модераторы! Окажите содействие! |
|
| Вернуться к началу |
|
 |
|
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|
|
|