如何使用RTP暂停和播放J2ME音频播放器流

时间:2011-12-25 15:49:43

标签: java-me audio-streaming midp rtp mmapi

以下是我尝试通过RTP从服务器播放音频流的方式。

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应用程序中暂停(并停止下载)并再次播放(从下载停止的最后一点开始下载)音频?如果有人知道一个好的解决方案,请告诉我,示例代码。

2 个答案:

答案 0 :(得分:1)

流式传输时,不会立即下载整个媒体,而是在播放过程中下载部分媒体。使用rtp / rtsp定位器创建播放器时,调用player.stop()足以停止播放和进一步下载媒体。同样,player.start()足以从停止播放的位置恢复播放。

您必须记住,由于媒体不是本地的,如果一段时间后流不恢复,流媒体服务器可能会认为流已经超时,您需要重新建立流。

答案 1 :(得分:-1)

只需关注player.stop(),player.start();功能不够