0

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

4

2 回答 2

1

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

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

于 2012-09-04T15:19:53.367 回答
-1

只需跟随 player.stop(),player.start(); 功能足够

于 2012-02-20T12:36:54.363 回答