0

私はAudioRecorderクラスを使用してAndroidで音声録音アプリケーションを実行しており、さまざまなサンプルレート44100、32000、24000、16000、および8000で動作しています。サンプルレート44100は高品質のオーディオを提供しますが、サイズが非常に大きくなりますが、他のサンプルレートは非常に悪くなります許容できるファイルサイズの低品質オーディオ。

あなたが言う前に重複する質問の可能性私は次のリンクを見ました:

Link1

Link2

しかし、参照されたリンクは質問とは異なります。

私の質問は、32000、24000、8000などのサンプルレートで小さなファイルサイズで高品質のオーディオを取得する方法です。

またはwavファイルを大きいサイズから小さいサイズに圧縮する方法はありますか?

私のコードサンプル:

tempbufferSize = AudioRecord.getMinBufferSize(16000,AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT);
........
mAudioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,16000, AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT,tempbufferSize);
mAudioRecord.startRecording();
.....

リンクを参照しました。

私を助けてください。

4

2 に答える 2

0

WAV は純粋な非圧縮オーディオ データであるため、品質を犠牲にすることなく、ファイル サイズが非常に大きくなります。MediaRecorder と setOutputFormat() を使用して MPEG4 に記録できます。

見る:

メディアレコーダー

出力形式 MPEG4

役に立ったことを願っています

于 2012-08-06T13:19:39.927 に答える
0

サンプル レートを上げると、1 秒あたりのサンプル数が増え、ファイルのサイズが事実上増加することがわかります。アプローチは、より質の高い、より多くのデータです。

圧縮に関する参考資料:


http://www.eetimes.com/design/analog-design/4017792/Audio-Compression-Algorithm-Overview

http://jspeex.sourceforge.net/index.php

http://flac.sourceforge.net/license.html <-- BSD ライセンス / ロスレス

http://jflac.sourceforge.net/ << Apache ライセンス / ロスレス

于 2012-08-06T13:10:56.450 に答える