0

嗨,我正在开发一款适用于 Android 的音乐应用程序。我想动态更改音乐的播放速度和混响值。SeekBar在我看来,播放速度和混响值都会有两个,所以改变SeekBar的值声音必须相应地改变。

目前我正在使用MediaPlayer,但搜索后发现 MediaPlayer 不支持更改播放速度的功能。然后我尝试了SoundPool,这样我就可以改变音轨的速度。但是SoundPool我无法使用大音乐文件。

我想要一种可以同时改变速度和混响值的方法。

我正在寻找数周的解决方案,但我仍然无法找到它。请帮帮我...

编辑

float playbackSpeed = 1.5f;
    SoundPool soundPool;
    int soundId;

    void soundPooler()
    {

        soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);

        final int soundId = soundPool.load("/storage/sdcard0/Music/departed.mp3", 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);

            }
        });
    }

这是我尝试过的代码。谢谢..

4

0 回答 0