美文网首页开发者日记Android开发Android技术知识
Android关于声音播放(MediaPlayer)--如何改变

Android关于声音播放(MediaPlayer)--如何改变

作者: IT老五 | 来源:发表于2018-07-10 21:58 被阅读0次

    喜欢折腾,最近想开发一款可以变速的音乐播放器,先做下技术调研。
    百度&谷歌了一下,如果不做底层定制,整个mp3文件播放在java层可以实现的方法主要是MediaPlayer。
    而且,在Android 6.0+(23+)MediaPlayer可以通过setSpeed来改变播放速率
    在代码中,我们需要:

    // 设置音乐播放速度 
    // IT老五(简书ThinkinLiu) http://itlao5.com
    public static void changeplayerSpeed(float speed) { 
        if (mPlayer == null)  {
            return; 
        }
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
            // API 23 (6.0)以上 ,通过设置Speed改变音乐的播放速率
            if (mPlayer.isPlaying()) {
                // 判断是否正在播放,未播放时,要在设置Speed后,暂停音乐播放
                mPlayer.setPlaybackParams(mPlayer.getPlaybackParams().setSpeed(speed)); 
            } else {
                mPlayer.setPlaybackParams(mPlayer.getPlaybackParams().setSpeed(speed)); 
                mPlayer.pause(); 
            } 
        } else {
            // 在Android6.0以前,需要另想办法处理,后续查到好的方法再补充
        }
    }
    

    另外还找到 AudioTrack及 OpenGL es相关的内容,明天再看看是否有更好,兼容性更高的解决方案。
    如果哪位朋友有好的方法,麻烦告知,多谢。

    相关文章

      网友评论

        本文标题:Android关于声音播放(MediaPlayer)--如何改变

        本文链接:https://www.haomeiwen.com/subject/floqpftx.html