スタックをスローすると混乱しました。だから、は私の問題です:私はいくつかのオーディオを録音するAudioRecord
クラスを使用していAndroid。ファイルをWAVからOGGに変換してください。
、ここではコードです:記録が完了し
AudioRecord record = new AudioRecord(AudioSource.VOICE_RECOGNITION,
SAMPLING_RATE,
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT,
mBufferSize);
record.startRecording();
int read = 0;
while (mIsRecording) {
read = record.read(mAudioBuffer, 0, mBufferSize);
if ((read == AudioRecord.ERROR_INVALID_OPERATION) ||
(read == AudioRecord.ERROR_BAD_VALUE) ||
(read <= 0)) {
continue;
}
proceed();
write(out);
}
した後、私はAudioRecord
からこの.pcm
生データを変換しています
private void convertRawToWav() {
File file_raw = new File(mFileNameRaw);
if (!file_raw.exists()) { return; }
File file_wav = new File(mFileNameWav);
try {
PcmAudioHelper.convertRawToWav(WavAudioFormat.mono16Bit(SAMPLING_RATE), file_raw, file_wav);
if (handler != null) {
handler.onRecordSuccess();
}
} catch (IOException e) {
e.printStackTrace();
if (handler != null) {
handler.onRecordSaveError();
}
}
}
トリム機能がからコピーし、自分のアプリケーションでありますので、私は、将来的に.wav
フォーマットが必要になります。.wav
へOGG形式をサポートしていません、その:FLY
MAIN問題について、OGGなどの録音音声をMEをお勧めしないPLEASE: WAV形式はあまりにも重いです、と私はそれを変換する必要がありますMP3またはOGGのいずれか小さい方。 MP3は特許を取得しているので、オプションではありません。どのような私は必要なのである。 それは重量ですので.ogg
ファイルに.wav
ファイルを変換するには、私が見つけたもの
はるかに小さくなります。 This libraryが、録画中に、それが唯一の.ogg
へ.pcm
データを変換し、私がする必要がありますそれをトリミングした後に全ファイルを変換する.wav
こんにちは、返信用のthxですが、これはMP3形式で、私にとってはオプションではありません。OGGのみが必要です –
ああ、申し訳ありません。だからあなたは[この](https://github.com/lalongooo/ffmpeg4android_demo)のようなffmpegラッパーを "ffmpeg -i audio.wav -acodec libvorbis audio.ogg"というようなコマンドで実行することができます。 –
私は、私はそれについて叩き打ちしていました。そして、そのような巨大なライブラリを1つの関数に統合することは、あまりにも重すぎるという結論に至ります。( –