0

こんにちは、私は 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);

            }
        });
    }

これは私が試したコードです。ありがとう..

4

0 に答える 0