我在使用 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 有什么问题吗?