我正在开发一个播放器应用程序,并且为此使用 MediaPlayer

现在,我想更改播放轨道的速度。

我见过很多具有此功能的应用程序。我怎样才能做到这一点?

最佳答案

MediaPlayer不提供提供此功能,但SoundPool具有此功能。
SoundPool类具有一种称为setRate (int streamID, float rate)的方法。如果您对API have a look here感兴趣。

该代码段将起作用。

 float playbackSpeed=1.5f;
 SoundPool soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);

 soundId = soundPool.load(Environment.getExternalStorageDirectory()
                         + "/sample.3gp", 1);
 AudioManager mgr = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
 final float volume = mgr.getStreamMaxVolume(AudioManager.STREAM_MUSIC);

 soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener()
 {
     @Override
     public void onLoadComplete(SoundPool arg0, int arg1, int arg2)
     {
         soundPool.play(soundId, volume, volume, 1, 0, playbackSpeed);
     }
 });

关于android - Android中MediaPlayer的速度控制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10849961/

10-09 13:17