1

私は1週間以上インターネットを精査しており、AndroidSDKでオーディオファイルを操作するための良い方法を探しています。私の目標は、オーディオに特殊効果を適用することです。誰かが私にこれを助けることができるリソースを教えてもらえますか?StackOverflowは、私が知っている唯一の信頼できる答えの場所であるため、私はStackOverflowに目を向ける必要がありました。

4

2 に答える 2

1

オーディオファイルをデジタル操作したい、つまりDSP技術を介してバイトレベルで操作したいという意味だと思いますか?

リアルタイムで(つまりマイクロホーンから)操作したい場合は、を見てくださいandroid.media.AudioRecord.AudioRecord。例えば:

audioRecord = new AudioRecord(
    MediaRecorder.AudioSource.MIC,
    8000,
    AudioFormat.CHANNEL_IN_STEREO,
    AudioFormat.ENCODING_PCM_16BIT,
    AudioTrack.getMinBufferSize(
        8000,
        AudioFormat.CHANNEL_IN_STEREO,
        AudioFormat.ENCODING_PCM_16BIT)*20);

audioRecord.startRecording();
byte[] readBuffer = new byte[640];
int nbytes = audioRecord.read(readBuffer.getData(),0,readBuffer.length);

これにより、生のオーディオデータにアクセスできるようになります(上記の例では、リニアPCM 16ビットステレオ)。

(SDカードなどから)既存の保存ファイルを読み取り、オーディオを操作する場合は、を参照してくださいjava.io.FileInputStream。もちろん、既存のファイルが線形PCM以外の形式(MP3など)の場合は、DSPタイプの操作を適用する前に、ファイルを線形PCMにデコードすることをお勧めします。 ファイルをバイト配列に読み込む例については、 ここをクリックしてください。MP3ファイルを読み込んでデコードされた生のPCMデータを取得する例へのリンクについては、ここをクリックしてください。

于 2012-04-11T22:22:08.077 に答える
0

Ringdroidはオープンソースであり、一見の価値があります。これがあなたが望むことをするかどうかわからない。

于 2012-04-11T21:44:12.150 に答える