嗨,我正在开发一款适用于 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);
}
});
}
这是我尝试过的代码。谢谢..