Android MediaPlayer seekTo方法不适用于JellyBean设备,但在Gingerbread,Froyo上工作正常

时间:2012-12-15 20:05:44

标签: java android audio-streaming android-mediaplayer

我在使用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);

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

1 个答案:

答案 0 :(得分:0)

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