2010-05-11 5 views
1

나는 온라인으로 노래를들을 수있는 응용 프로그램을 개발 중입니다. Blackberry Player 및 Manager API를 사용했습니다. 내 응용 프로그램이 잘 작동하고 노래를 재생할 수 있습니다. 이제는 더 많은 컨트롤을 추가 할 필요가 없습니다. 예를 들어, 일시 중지하고 노래를 재생하고 싶습니다. 소리를 음소거하고 볼륨을 조절하십시오. 재생 진행률을 표시합니다. 그런 노래의 현재 시간 위치를 표시하십시오. 나는 그것에 대한 연구를 시작했다. 그리고 PlayerListener로 그 작업을 시도했습니다. 하지만 불행히도 항상 IllegalStateException이 발생합니다. 그래서 나는 그 연구를 진행할 수 없다.blackberry는 오디오 플레이어를 구현합니다.

누군가가 위의 컨트롤을 플레이어에 구현할 수있는 방법을 알려주십시오. 다른 사람이 샘플 코드를 게시 할 수 있으면 감사하게 생각합니다. 또한 여기에 재생 소스 코드를 입력 해 보겠습니다.

public void run() {try {p = Manager.createPlayer (requestedSong + SystemSettings.strNetwork); p.setLoopCount (1); p.start(); } 캐치 (IOException이 IOE) {} 캐치 (MediaException 나) {}}

공공 무효 실행()
{

{
P = Manager.createPlayer (strSongURL)을 시도;
p.setLoopCount (1);
p.start();
}
캐치 (IOException이 IOE)
{}
캐치 (MediaException 나)
{}
}

대단히 감사합니다. 프라 사드

답변

0

그들이 항상 말하는 것처럼

는 MMAPI의 문서를 보라. 포럼 노키아는 MMAPI에 대한 좋은 예가있다.

그러나 먼저 추가하여 코드를 확인할 수 있습니다

p.realize(); 
p.prefetch(); 

가/일시 정지 플레이어 전화 p.stop()을 중지합니다.

파일 호출이 진행을 계산할 수있는 그에서 p.getDuration();

의 전체 기간을 얻으려면 현재 위치 호출 p.getMediaTime(); 를 얻으려면.

는 볼륨을 조절하려면 :

import javax.microedition.media.Player; 
import javax.microedition.media.Manager; 
import javax.microedition.media.*; 
import javax.microedition.media.control.VolumeControl; 
private VolumeControl vc; 


public void changeVolume(int diff) { 
    VolumeControl vc; 

    if (p != null) { 
     vc = (VolumeControl) p.getControl("VolumeControl"); 
     if (vc != null) { 
      int cv = vc.getLevel(); 
      cv += diff; 
      cv = vc.setLevel(cv); 
     } 
    } 
} 

은 실행 가능한 구현하기 위해 플레이어의 클래스를 정의하고 자신의 스레드를 제어 할 수 있습니다. 이 도움이 http://www.java-tips.org/java-me-tips/midp/

희망 :

은 보라.

+0

볼륨 값은 0에서 100 사이입니다. – user279778

관련 문제