Программное управление проигрывателем Windows Media, желательно с Java - PullRequest
2 голосов
/ 03 апреля 2009

Я добавляю функциональность в существующее Java-приложение, которое уже широко развернуто. (Так что есть некоторые дизайнерские решения, которые я не могу принять, если у меня нет серьезной веской причины.) Приложение контролирует ПК, транслирующий аудио и видео в небольшую локальную телевизионную сеть. Прямо сейчас он в основном транслирует статические слайды, но также может делать фоновую музыку по усмотрению клиента. Фоновая музыка (компакт-диск, локальные музыкальные файлы, интернет-радио и т. Д.) Обрабатывается проигрывателем Windows Media.

Мой текущий проект добавляет повествование к статическим слайдам. Когда проигрывается повествование, мне нужно послать какой-то сигнал STFU, который временно отключает или отключает выход WMP. Поэтому мой основной вопрос: как лучше всего это сделать?

Я знаю, что WMP имеет интерфейс ActiveX, но у меня нет опыта работы с ActiveX / COM. Я могу (и, вероятно, буду) учиться, конечно, но на данный момент я не в состоянии различать простые решения, которые технически осуществимы, но болезненны, и решения, которые на самом деле являются тупиками.

Требует ли решение на основе Java, чтобы я использовал мост Java-> ActiveX, такой как Jacob? Или это перебор?

Или я полностью не лаю? Я, конечно, готов развернуть небольшие исполняемые файлы командной строки, написанные полностью на другом языке, а затем получить к ним доступ через Runtime.exec (). Это то, что (скажем) VisualBasic делает грязь простой? (VB тоже не входит в мои навыки, но если это правильный инструмент для этой работы, я научусь. Я просто не знаю, правильный ли это инструмент. Google дал мне множество примеров включения WMP в графический интерфейс VB. ; VB скрипт командной строки, не так уж много.)

Наконец, последний момент: экземпляр WMP будет запущен пользователем, а не запущен приложением Java. Не знаю, имеет ли это значение, но решил, что стоит упомянуть.

Заранее благодарю за любые идеи, которые кто-нибудь может мне предложить.

1 Ответ

1 голос
/ 03 апреля 2009

Лучше всего использовать Jacob (или какой-либо другой мост Java / COM); Я полагаю, вы не хотите просто отключить звук системы.

...