android - 使用 Listener for SeekBar 在使用 MediaPlayer 播放时使用暂停/播放更改进度

标签 android

当我使用此代码通过 SeekBar 控制 MediaPlayer 时,MediaPlayer 不会继续播放。

1:播放

0:暂停

像这样玩!

11110001110011

有什么问题?

代码:

sb_song.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

            @Override
            public void onStopTrackingTouch(SeekBar arg0) {
                // TODO Auto-generated method stub
                mp_qiraat.start();
            }

            @Override
            public void onStartTrackingTouch(SeekBar arg0) {
                // TODO Auto-generated method stub
                mp_qiraat.pause();
            }

            @Override
            public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
                // TODO Auto-generated method stub
                mp_qiraat.seekTo(arg1);
            }
        });

        tb_play_qiraat.setOnLongClickListener(new OnLongClickListener() {

            @Override
            public boolean onLongClick(View arg0) {
                vib.vibrate(80);
                mp_qiraat.reset();
                mp_qiraat.stop();
                rl_media.setVisibility(View.INVISIBLE);
                return false;
            }
        });

最佳答案

onProgressChanged 在 SeekBar 查找过程中多次(频繁)调用。

必须在 onProgressChanged 调用时保存新的搜索位置作为某个变量,并仅在调用 onStopTrackingTouch() 回调时调用 seekTo(pos)这意味着搜索过程已完成,您必须调用 MediaPlayer.seekTo(seekPos) API。

比你寻求过程会变得更顺利,我认为这个问题会消失。

关于android - 使用 Listener for SeekBar 在使用 MediaPlayer 播放时使用暂停/播放更改进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25781882/

相关文章:

java - 从数据库内容填充微调器 (SQLite)

android - 如何改变RayMenu的方向

Android:注销时清除所有 Activity 的完美方法?

java - Android - 我将如何动态更改 clickListener

android - 在 ListView 的 ArrayAdapter<String> 中删除项目

java - 如何将 android 中的文件保存到我的 Dropbox 目录?

android - 适用于 Android v2 的谷歌分析 : dispatch period

java - 通过 USB 进行 OBD 通信

java - Eclipse 在 Mac 上打不开

android - 'adb remount' 有什么作用?什么时候有用?