的MediaPlayer在Android的速度控制 [英] Speed Control of MediaPlayer in Android

查看:239
本文介绍了的MediaPlayer在Android的速度控制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开发一个播放器应用程序。我使用的MediaPlayer为。

I am developing a player app. I am using MediaPlayer for that.

现在我想改变播放曲目的速度。

Now I want to change the speed of playing track.

我已经看到了这个功能,所以许多应用程序。我怎样才能做到这一点?

I've seen so many apps with this functionality. How can I do this?

请帮我。

感谢您

推荐答案

MediaPlayer的不提供此功能,但拥有的Soundpool此功能。 该的Soundpool类有一个名为 setRate法(INT流ID,浮动利率)。如果你有兴趣的<一个href="http://developer.android.com/reference/android/media/SoundPool.html#setRate%28int,%20float%29">API这里看看。

The MediaPlayer does not provide this feature but SoundPool has this functionality. The SoundPool class has a method called setRate (int streamID, float rate). If you are interested in the 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);
     }
 });

这篇关于的MediaPlayer在Android的速度控制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆