![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проигрывание музыки другим приложением [D6, WinXP]
MixAnOL © (2005-06-24 16:51:00)Здорово всем!
Нужно узнать из своего приложения воиспроизводит ли другое приложение музыку из mp3, midi или avi.
Что-то ум ничего не приходит как енто реализовать...
Может кто подкинет советик?
MixAnOL (2005-06-30 18:11:00) [1]Нашел способ решить енту задачу!
Повезло, разработчики в логе указывают какой файл и когда проигрывается => можно узнать когда есть простой и когда нет.
мп3 из своего приложения я стал проигрывать bass-плейером, т.к. TMediaPlayer косячит с определение длительность при переменном битрейте...
Спасибо за советы)))
Digitman (2005-06-30 08:28:00) [2]ведет.
если другое приложение заняло в дан.момент waveOut- или midiOut-интерфейс, то твое приложение при попытке выполнить метод TMediaPlayer.Open получит исключение, при обработке которого по коду ошибки в св-ве TMediaPlayer.Error можно подтвердить этот факт
MixAnOL (2005-06-29 16:02:00) [3]да, но это к решению задачи ни как не ведет
Digitman (2005-06-29 13:42:00) [4]
> проигрываю .. медиа плейером
в смысле используешь компонент TMediaPlayer ?
MixAnOL (2005-06-29 13:35:00) [5]да просто проигрываю Mp3 файлы медиа плейером, что-то типа рекламы...
Digitman (2005-06-29 12:59:00) [6]а как ты "проигрываешь свою информацию" ? Компоненты, спецификации, интерфейсы какие используешь ?
MixAnOL (2005-06-29 12:24:00) [7]есть приложение, оно в зависимости от действий пользователя может проигрывать музыку. Требуется написать приложение, кот. когда первое ничего не воспроизводит проигрывать свою информацию.
Первое приложение не мое и исходников нет, поэтому такая байда и получается...
Digitman (2005-06-28 16:39:00) [8]можно полюбопытствовать, в связи с чем и для чего возникла такая задача ?
думается, не в тот огород ты полез) ..
MixAnOL (2005-06-28 16:33:00) [9]такого режима нет
Digitman (2005-06-28 15:06:00) [10]а как насчет "файл открыт, а воспроизведение - в режиме паузы" ?
MixAnOL (2005-06-28 14:50:00) [11]а я и не делал упор на решение таким методом. Зная специфику рассматриваемого приложения, могу утверждать что если файл открыт - то он воспроизводится. Проверил с пом. утилы handler по твоей ссылке. Но ентот спосо как раз не канает для миди файлов, так как работает именно по этому варианту:
> - файл не открыт (данные из него были уже прочитаны и файл
> после этого закрыт), воспроизводятся ранее прочитанные в
> память данные
Для мп3 и ави - все нормально.
Digitman (2005-06-28 14:23:00) [12]
> MixAnOL (28.06.05 13:58) [6]
в такой постановке задача нерешаема, потому что нет прямой связи между фактом открытия приложением некоего интересующего файла и фактом воспроизведения приложением данных именно из этого файла
вариантов масса :
- файл открыт, но воспроизведение не начато
- файл не открыт (данные из него были уже прочитаны и файл после этого закрыт), воспроизводятся ранее прочитанные в память данные
- файл открыт, но воспроизводятся данные из ранее открывавшегося другого файла
- и т.д. и т.п.
MixAnOL (2005-06-28 13:58:00) [13]нужен факт: воспроизводит или нет
Digitman (2005-06-28 11:12:00) [14]
> не перебирать же все файлы
перебрать хендлы объектов целевого процесса, отобрать нужные (см. www.sysinternals.com)
а если целевой процесс просто открыл файл, но не воспроизводит в дан.момент ничего ?
MixAnOL (2005-06-28 10:03:00) [15]именно конкретным, но не перебирать же все файлы...
Digitman (2005-06-27 16:32:00) [16]
> из mp3, midi или avi
имеется ввиду, открыт ли хотя бы один из файлов вышеперечисленных форматов конкретныминтересующим приложением ? так что ли ?
MixAnOL (2005-06-27 16:26:00) [17]Нашел кульную прогу по получению параметров выходного звука, но она не решает проблему, т.к. свое приложение также может проигрывать музыку....
И все молчат.... может считаете, что это проблема давно решенная и не хотите отвечать еще один раз - но я не нашел никаких способов, хотя облазал много форумов и статей...
надеюсь на помощь ...
MixAnOL (2005-06-24 16:56:00) [18]Может уровень звука проверять - дык не знаю как енто сделать, ткните в соответствующую инфу