こんにちは、私は Android 用の音楽アプリに取り組んでいます。音楽の再生速度とリバーブ値を動的に変更したいと考えています。私の見解ではSeekBar
、再生速度とリバーブ値の両方に 2 つあるため、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);
}
});
}
これは私が試したコードです。ありがとう..