【发布时间】:2011-12-12 00:31:59
【问题描述】:
我正在尝试在 Android 应用程序上实现 MediaPlayer,但现在我遇到了两个问题,这不是 THE BIG SHOWSTOPPER,但它们更烦人,我必须为我解决它。
我为 Activity 实现了一个异步 MediaPlayer+Controller,效果很好。 我的计划是同时显示 MediaControl 上的缓冲百分比。这也有效。
但是现在,在我看到百分比之后,我看到了一个奇怪的行为:如果我寻找一个已经在缓冲区中的位置,缓冲将再次从这个位置开始。这是已知的和/或正常的行为/问题/功能吗?
这里有更多细节:
我使用的是 2.2 SDK 我就是这样实现的
public class Details extends Activity implements MediaPlayer.OnPreparedListener, MediaController.MediaPlayerControl {
[...]
private void setPosition(int currentPos ){
position = currentPos;
}
[...]
public void onCreate(Bundle savedInstanceState) {
[...]
mediaPlayer.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
@Override
public void onBufferingUpdate(MediaPlayer mp, int progress) {
setPosition(progress);
}
});
[...]
public int getBufferPercentage() {
return position;
}
[...]
public void seekTo(int i) {
General.mediaPlayer.seekTo(i);
}
}
点击搜索栏后的预期
我得到了什么
这正常吗?
【问题讨论】:
-
+1 因为图片说明:D
-
嘿 g.tobi。这有什么好运气吗?
-
嗨,很抱歉回答迟了..我还没有修复它:(
-
日志是怎么说的?通常媒体播放器非常冗长..
标签: android asynchronous media-player