【问题标题】:Mp3 Streaming Using Player Switching使用播放器切换的 Mp3 流式传输
【发布时间】:2012-06-18 14:16:40
【问题描述】:

我正在开发一个示例应用程序,它可以播放广播 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(); 

Player2Player1 完成之前预取 - 我为玩家创建了一个 FIFO 队列,当下载一个块时,我创建输入流 -> Player -> Realize() -> Prefetch() -> Push into队列。

【问题讨论】:

  • 你使用 Player.prefetch() 吗?此方法“获取稀缺和专有资源并处理尽可能多的数据以减少启动延迟...”
  • 是的,我正在使用 Player.prefetch(),这是我启动播放器的代码。玩家 p = Manager.createPlayer(is, type); p.addPlayerListener(playerListener); p.realize(); p.prefetch();
  • player2 是否在 player1 完成之前预取?
  • 是的,我为播放器创建了一个 FIFO 队列,当下载一个块时,我创建了输入流 -> Player -> Realize() -> Prefetch() -> Push into the Queue。
  • 所以,当 player1 的 playerListener.playerUpdate 事件等于 END_OF_MEDIA 时调用 player2.start(),对吧?

标签: java-me midp mmapi


【解决方案1】:

也有这个项目:mfradio.sourceforge.net,但不再维护,我没有让它在“后期”MIDP 设备(索尼 W995)上工作,我仍在使用另一个 android 设备。

您的开发是否在某处可用?

谢谢。

【讨论】:

    猜你喜欢
    • 2012-02-09
    • 2021-12-22
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多