2009-04-02 3 views
2

이미 광범위하게 배포 된 기존 Java 응용 프로그램에 기능을 추가하고 있습니다. ( 심각하게 이유가있는 이유가없는 한 내가 만질 수없는 디자인 결정이 있습니다.)이 앱은 작은 로컬 TV 네트워크에 오디오 및 영상을 방송하는 PC를 제어합니다. 현재는 주로 정적 슬라이드를 방송하지만 클라이언트의 재량에 따라 배경 음악을 재생할 수도 있습니다. 배경 음악 (CD, 로컬 음악 파일, 인터넷 라디오 등)은 Windows Media Player에서 처리합니다.프로그래밍 방식으로 Windows Media Player를 제어하는 ​​것이 바람직합니다. Java

내 현재 프로젝트에서 정적 슬라이드에 나레이션을 추가하고 있습니다. 나레이션이 재생되면 일시적으로 WMP 출력을 멈추거나 음소거하는 일종의 STFU 신호를 보내야합니다. 그래서 내 핵심 질문은 : 이것을 달성하는 가장 좋은 방법은 무엇입니까?

WMP에는 ActiveX 인터페이스가 있지만 ActiveX/COM에는 익숙하지 않습니다. 나는 분명히 배울 수 있지만, 지금은 쉬운 솔루션, 기술적으로 실현 가능한 솔루션, 고통스러운 솔루션 및 실제로는 시각 장애인 인 "솔루션"을 구분할 수있는 위치에 있지 않습니다.

Java 기반 솔루션을 사용하려면 Jacob과 같은 Java-> ActiveX 브리지를 사용해야합니까? 아니면 잔인한가요?

아니면 완전히 잘못된 트리를 짖고 있습니까? 나는 확실히 다른 언어로 작성된 작은 명령 행 실행 파일을 배포 한 다음 Runtime.exec()를 통해 액세스합니다. VisualBasic이 먼지를 간단하게 만드는 것입니까? VB는 내 스킬 세트에도 포함되어 있지 않지만이 도구가이 작업에 적합한 도구라면 바로 배우게 될 것입니다. 올바른 도구인지는 모르겠습니다 .GMP는 VB GUI에 WMP를 통합 한 사례를 많이주었습니다. VB 명령 행 스크립트, 그다지 많지 않습니다.)

마지막으로, 하나의 마지막 포인트 : WMP 인스턴스는 Java 응용 프로그램에서 시작하지 않고 사용자에 의해 시작됩니다. 차이가 있는지 알지 못하지만 언급 할만한 가치가 있다고 생각했습니다.

아무도 내게 제공 할 수있는 통찰력에 대해 미리 감사드립니다.

답변

1

가장 좋은 방법은 Jacob (또는 다른 Java/COM 브리지)을 사용하는 것입니다. 시스템 볼륨을 음소거하는 것을 원하지 않는다고 가정합니다.

+0

선호. 시스템 볼륨을 음소거하면 내레이션이 음소거되어 목적을 무력화시킵니다. :-) – BlairHippo

관련 문제