【问题标题】:Android MediaPlayer seekTo method doesn't work on JellyBean devices but works fine on Gingebread, FroyoAndroid MediaPlayer seekTo 方法在 JellyBean 设备上不起作用,但在 Gingebread、Froyo 上运行良好
【发布时间】:2012-12-03 11:02:45
【问题描述】:

我在使用 MediaPlayer.seekTo(int msec) 方法时遇到了一些问题。基本上我正在使用 SeekBar 来跟踪流的进度(正在流式传输的 .mp3 文件)。我允许用户移动搜索栏以搜索流的不同部分。当他们寻找时,我使用 OnSeekBarChangeListener 中的 onStopTrackingTouch() 来准确跟踪他们寻找的位置。然后我将这个毫秒值传递给我的流媒体服务:

Intent intent = new Intent(mContext, StreamingService.class);
intent.setAction(StreamingService.SERVICE_SEEK_TO);
intent.putExtra(StreamingService.EXTRA_SEEK_TO, seekBar.getProgress());
mContext.startService(intent);

流服务处理此意图并尝试调用 mediaPlayer.seekTo()。这适用于我的 Froyo 和 Gingerbread 设备,但不适用于我的 JellyBean 设备。例如,如果我寻求 40,000 毫秒,我的 JellyBean 设备会跳回到 10,000 毫秒。而在 Gingerbread 或 Froyo 上,搜索实际上从 40,000 毫秒开始工作和播放。 JellyBean中的MediaPlayer有什么问题吗?

【问题讨论】:

  • 嗯,没有答案?有人有任何线索吗?我知道 NPR 以某种方式运作。
  • 它在 NPR 中工作,因为他们使用不同的流类型:ShoutCast

标签: java android audio-streaming android-mediaplayer


【解决方案1】:

正如tokudu 在他的评论中提到的那样;流类型非常重要。它适用于 NPR,因为他们使用的是 ShoutCast。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 2020-06-02
    相关资源
    最近更新 更多