2010-05-11 119 views
1

我正在開發一個讓用戶在線收聽歌曲的應用程序。我使用Blackberry Player和管理器API。我的應用程序工作正常,我可以播放歌曲。現在我不想添加更多的控件。作爲一個例子,我想暫停播放歌曲。靜音,控制音量。顯示播放的進度。顯示歌曲的當前時間位置。我開始研究這個。我試圖用PlayerListener來做到這一點。但不幸的是,我總是遇到IllegalStateException。所以我不能繼續研究。黑莓實現音頻播放器

作爲一個幫助可以有人請告訴我如何實現以上種類的控制球員。感謝有人可以發佈示例代碼來做到這一點。此外,我將把我的播放源代碼放在這裏。

public void run(){try {p = Manager.createPlayer(requestedSong + SystemSettings.strNetwork); p.setLoopCount(1); p.start(); }趕上(IOException異常IOE){}趕上(MediaException我){}}

公共無效的run()
{
嘗試
{
P = Manager.createPlayer(strSongURL);
p.setLoopCount(1);
p.start();
}
趕上(IOException異常IOE)
{}
趕上(MediaException我)
{}
}

非常感謝你。

普拉薩德

回答

0

由於他們總是說,有一個看看MMAPI文檔。論壇諾基亞爲MMAPI提供了很好的例子。

但首先你可以通過增加檢查你的代碼:

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

要暫停/停止播放器調用p.stop()

爲了獲得當前位置的呼叫p.getMediaTime(); 要獲取文件調用p.getDuration();

從這些可以計算出進步的充分時間。

控制音量:

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); 
     } 
    } 
} 

定義您的播放器類實現Runnable,並在自己的線程控制它。

看一看:http://www.java-tips.org/java-me-tips/midp/

希望這有助於。

+0

體積值從0到100。 – user279778 2010-05-11 10:43:55