2011-12-25 264 views
0

以下是我如何嘗試通過RTP從服務器播放音頻流。如何暫停和播放與RTP流式傳輸的J2ME音頻播放器

try { 
    String url = "rtp://..."; 
    Player p = Manager.createPlayer(url); 
    p.realize(); 
    VideoControl video = (VideoControl) p.getControl("VideoControl"); 
    Item itm = (Item) video.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE, null); 
    midlet.form.append(itm); 
    p.start(); 
} catch (Exception e) {...} 

我試過http,它運行良好。在http中,所有的媒體內容下載,然後我們可以播放,暫停和再次播放。沒關係。我想從RTP播放音頻。我想知道如何在用戶需要播放時再次播放(並且從下載的最後一個點開始下載(而不是從開始))來暫停播放器(並且數據不下載,保持媒體暫停的記錄)。

據我所知,智能手機無法與服務器保持會話,因爲手機不會保留會話並在每次向服務器發送請求時發送回服務器(並且只發送請求並得到響應,沒有會話管理)。也許我錯了。

無論如何,我可以在J2ME應用程序中暫停(並停止下載)並再次播放(從下載停止的最後一點開始下載)音頻?請讓我知道是否有人知道一個好的解決方案,示例代碼。

回答

-1

只要關注player.stop(),player.start();足夠的功能

1

流式傳輸時,整個媒體不會立即下載,而是隨着播放進度下載部分媒體。當使用rtp/rtsp定位器創建播放器時,調用player.stop()足以停止播放和進一步下載媒體。同樣,player.start()足以從停止播放的位置繼續播放。

您必須記住,由於媒體不是本地的,如果一段時間後流不恢復,流媒體服務器可能會認爲媒體流已超時,您需要重新建立媒體流。