0

いくつかのEQを実行し、.wavファイルにデジタル効果を適用する必要があります。以下の「バッファ」から個々のPCMサンプル値を抽出してEQ/処理を実行する方法はありますか?AudioTrackはこれを行う正しい方法ですか?

private void playSound() {


audioTrack.play();
double input = 0;
int bufferSize = 512;
byte[] buffer = new byte[bufferSize];
InputStream inputStream = getResources().openRawResource(R.raw.wave);

    try {
        while((input = inputStream.read(buffer)) != -1)
        audioTrack.write(buffer, 0, input);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
4

1 に答える 1

1

Equalizer AudioEffectは、APIレベル9(Gingerbread)以降のAudioTrackのオーディオセッションにアタッチできます。

もう1つの方法は、オーディオトラックに書き込む前にアプリでPCMデータを処理することです。これはおそらく、パフォーマンス上の理由から、Javaではなくネイティブコードで実行したいことです。
独自のイコライザー効果を実装する理論は、StackOverflowでのQ&A形式に適した主題を少し広めるため、それが目的のルートである場合は、他の場所でその情報を検索する必要があります。

于 2013-03-25T09:35:00.847 に答える