Android 如何设置api小于23的mediaPlayer速度

Android 如何设置api小于23的mediaPlayer速度,android,android-mediaplayer,Android,Android Mediaplayer,这需要一个api调用23 我正在尝试使用SoundPool,但效果不如MediaPlayer,因为MediaPlayer是SoundPool的替代品 player.setPlaybackParams(player.getPlaybackParams().setSpeed(0.5f)); 使用媒体编解码器类。此类可以对其进行解码,您可以使用解码数据上的音频轨迹来渲染(播放)它。但您需要根据您的速度要求跳过这些示例,才能以特定的速度播放。这种方法应该有效。请参阅android开发者资源中的med

这需要一个api调用23

我正在尝试使用SoundPool,但效果不如MediaPlayer,因为MediaPlayer是SoundPool的替代品

player.setPlaybackParams(player.getPlaybackParams().setSpeed(0.5f)); 

使用媒体编解码器类。此类可以对其进行解码,您可以使用解码数据上的音频轨迹来渲染(播放)它。但您需要根据您的速度要求跳过这些示例,才能以特定的速度播放。这种方法应该有效。请参阅android开发者资源中的mediacodec和audiotrack。

使用媒体编解码器类。此类可以对其进行解码,您可以使用解码数据上的音频轨迹来渲染(播放)它。但您需要根据您的速度要求跳过这些示例,才能以特定的速度播放。这种方法应该有效。请参阅android开发者资源中的mediacodec和audiotrack。

您是否在audiotrack.class中尝试了
int-setPlaybackRate(int-sampleRateInHz)
?如何实现它?您可以给出一个示例代码我尝试了audio track类,但它给出了白色声音您尝试过我的答案吗?提供您所做工作的最新信息。您是否在
AudioTrack.class
中尝试了
int-setPlaybackRate(int-sampleRateInHz)
?如何实现它?您可以给出一个示例代码我尝试了audio-audio-track类,但它提供了白色声音您尝试过我的答案吗?告诉我你做了什么。
final float playbackSpeed=1.5f;
                final SoundPool soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);

                final String path=Environment.getExternalStorageDirectory().getAbsolutePath() + "/folioreader/audio"+".mp3";

                final int soundId = soundPool.load(path, 1);
                AudioManager mgr = (AudioManager) mHalfSpeed.getContext().getSystemService(Context.AUDIO_SERVICE);
                final float volume = mgr.getStreamMaxVolume(AudioManager.STREAM_MUSIC);

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

                soundPool.pause(soundId)