Java me 如何使用RTP暂停和播放J2ME音频播放器流
下面是我如何尝试通过RTP播放来自服务器的音频流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
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()也足以从停止播放的位置恢复播放
您必须牢记,由于媒体不是本地的,如果流在一段时间后没有恢复,流服务器可能会考虑流超时,并且需要重新建立流。