MediaPlayer onCompletion重置速度参数

问题描述

由于某种原因,当调用onCompletionListener时,我的速度参数设置为0,但是可以检索到音高。

如何在onCompletion中获取速度参数?

OnCompletion侦听器

@Override
    public void onCompletion(MediaPlayer mp) {
        Log.d(TAG,"OnCompletion called!");
            if (isRepeat) {
                    if(!songList.isEmpty()) {
                    activeSong = songList.get(songIndex);
                    mp.reset();
                    try {
                        mp.setDataSource(this,activeSong.getData());
                        mp.prepare();
                        mp.start();
                    } catch (Exception e) {
                        Log.e(TAG,"ERROR SETTING DATA SOURCE",e);
                        Toast.makeText(this,"Can't play song! Possible cause: Unsupported file format",Toast.LENGTH_SHORT).show();
                       }
                    }
                } else if (isShuffle) {
                Random random = new Random();
                songIndex = random.nextInt((songList.size() - 1) + 1);

                playSong();

            } else if (songIndex < songList.size() - 1) {
                PlaybackParams params = mp.getPlaybackParams();
                Log.d(TAG,"onCompletion params: pitch= "+ params.getPitch() + " speed= " +params.getSpeed());
                nextSong();
            } else {
                songIndex = 0;
                playSong();
            }
    }

Logcat输出

 params: pitch= 1.2829928 speed= 1.2333759

 onCompletion params: pitch= 1.2829928 speed= 0.0

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...