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

Java me 如何使用RTP暂停和播放J2ME音频播放器流,java-me,audio-streaming,midp,rtp,mmapi,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(VideoC

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

只要跟着player.stop(),player.start();功能足够

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

您必须牢记,由于媒体不是本地的,如果流在一段时间后没有恢复,流服务器可能会考虑流超时,并且需要重新建立流。