私はこの問題に苦しんでいます。録音ファイルサイズを小さくするためにビットレートを変更しました。私のアプリケーションはオーディオファイルをサーバーに正しくポストしましたが、ファイルサイズを最小限に抑えたいのですが、これは録音コードAudioRecordのファイルサイズが少し大きい
private void startRecording() throws IOException {
String state = android.os.Environment.getExternalStorageState();
if (!state.equals(android.os.Environment.MEDIA_MOUNTED)) {
throw new IOException("No SD mounted. It is" + state
+ ".");
}
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setAudioSamplingRate(44100);
mRecorder.setAudioEncodingBitRate(44100);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
File path = new File(Environment.getExternalStorageDirectory()
.getPath());
if (!path.exists() && !path.mkdirs()) {
throw new IOException("The file directory is invalid.");
}else{
try {
archivo = File.createTempFile("audio", ".3gp", path);
} catch (IOException e) {
}
}
mRecorder.setOutputFile(archivo.getAbsolutePath());
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
try {
mRecorder.prepare();
} catch (IOException e) {
Log.e(LOG_TAG, "prepare() failed");
}
mRecorder.start();
}
私は今1分間の記録のために336キロバイトのように取得しています、私は にしたいの周りの100にそれを減らす - あまりに 多くの品質
:
2)はモノラル1チャンネルを使用します1分あたりではなく、1秒あたりに必要な合理的なオーディオ品質を達成するために、(100〜200kb /分)を要求しています...これは、モバイルの純粋な情報理論をストリーミングすることとは関係ありません... 2つ目はオーディオカーブの耳がぎくしゃくしにくいことを意味します...増加したビットレートまたは品質の低下を受け入れるか...サンプルあたり16ビットの標準的なデフォルト値ではなく、サンプルあたり8のビット深度を試すことをお勧めします、モノチャンネル –
こんにちは@ScottStensland私は値を変更しましたdのコンプレッサーと私は生きている335キロビット/分、rasonableとまだ良い品質です –
物事は、主に私はテロバイトやオーディオの月あたりのGBのように浪費したくないソースとしてオーディオを使用するアプリのために、私はそこにあると思う別の方法です@ScottStensland –