2011-12-25 262 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()足以从停止播放的位置继续播放。

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