我正在开发一个播放器应用程序,并且为此使用 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/