【发布时间】: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