我正在开发一个示例应用程序,它可以播放广播 mp3 流(为 S40 平台开发,CLDC 1.1,MIDP 2.0)。我正在使用两个播放器切换以继续播放。
我使用以下逻辑进行流式传输。
Buffer enough chunks
Start Player1
Wait Player1 to finish
Start Player2
Wait Player2 to finish
repeat... 2
问题是,在玩家之间切换时,听众会感觉到 1 秒的沉默(间隙)。
我想知道是否可以无间隙地从服务器流式传输音频(在切换播放器时)?
这是我启动播放器的代码:
Player p = Manager.createPlayer(is, type);
p.addPlayerListener(playerListener);
p.realize();
p.prefetch();
Player2
在完成之前预取Player1
- 我为播放器创建了一个 FIFO 队列,当下载一个块时,我创建输入流 -> Player -> Realize() -> Prefetch() -> Push into the Queue。