Alert.startAudio()
을 헤드셋 대신 Blackberry 장치의 라우드 스피커를 통해 재생해야합니다.전화 스피커를 통해 Alert.startAudio()를 어떻게 재생할 수 있습니까?
AudioPathControl
인터페이스를 통해 오디오 경로를 변경할 수 있다는 것을 알고 있지만 AudioPathControl의 인스턴스를 얻는 방법을 모르겠습니다.
블랙 베리 지식 기반에서 수행하는 방법에 대해서는 LINK가 있지만 플레이어 클래스를 사용하여 수행하는 방법 만 알려줍니다.이 작업은 수행하고 싶지 않습니다. 현재 응용 프로그램의 AudioPathControl 인스턴스를 가져올 방법이 있습니까?
내 사운드 파일을 포함하는 대신 프로그래밍 방식으로 음질을 재생하는 것이 좋습니다. 나는 다음 코드 스 니펫을 발견했다.
Player p = javax.microedition.media.Manager.createPlayer(javax.microedition.media.Manager.TONE_DEVICE_LOCATOR);
p.realize();
ToneControl tc = (ToneControl) p.getControl("ToneControl");
AudioPathControl apc = (AudioPathControl) p
.getControl("AudioPathControl");
apc.setAudioPath(AudioPathControl.AUDIO_PATH_HANDSFREE);
tc.setSequence(mySequence);
p.start();
는 그러나 문제는 apc
가 null
이며 Exception
을 발생한다는 것입니다. 어떤 해결책?
좋습니다. 나는 그 일을하는 법을 이미 알고있다. 문제는 공간을 절약하기 위해 내 음악 파일을 포함시키지 않기를 바란다는 것입니다. 프로그래밍 방식으로 음색을 연주하는 것을 선호합니다. 발견 한 다른 기술로 내 질문을 업데이트했지만 아직 작동하지 않습니다. –
업데이트 된 코드에서 http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800332/1089414/How_To_-_Specify_Audio_Path_Routing.html?nodeid=1326675&vernum=0에 사용 된 스 니펫을 병합 할 수 있습니다. 즉, 반환 된 모든 컨트롤을 반복하고 해당 유형을 확인합니다. Control가 지원되어 있지 않은 경우, 길이가 0 인 배열이 돌려 주어집니다 (API doc로부터). – Rupak
방금 해 보았습니다. 작동하지 않습니다. 그것은 여전히 null을 제공하고 있습니다. –