검색 스택을 던져 내가 혼란스러워. 그래서, 내 문제가 무엇 : 나는 약간의 오디오를 녹음 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
원시 데이터를 변환하고 있습니다 .wav
에 :복사 내 응용 프로그램에서 트림 기능이 있기 때문에
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
형식이 필요합니다 그에는 OGG 형식을 지원하지 않습니다: 즉시 OGG 그대로 녹화 오디오 ME를하지 않는 것이 좋습니다하시기 바랍니다
주요 문제 : WAV 형식이 너무 무거운 무게, 그리고 난에 변환 할 필요가 작은 하나는 MP3 또는 OGG입니다. MP3는 특허권이있어 옵션이 아닙니다. 이 무게는 내가 무엇을 발견
훨씬 작은 것, 그래서 가 .wav
파일 .ogg
파일을 변환하려면 : 내가 뭘해야 할 것은 This library을하지만, 그것은 단지 기록하는 동안 .ogg
에 .pcm
데이터를 변환하고, 내가 필요 다듬은 후 전체 파일을 변환하십시오 .wav
안녕하세요, 답장을 보내주세요.하지만이 형식은 MP3이며, 나에게 옵션이 아닙니다. OGG 만 필요합니다. –
오, 죄송합니다. 그래서 당신은 [이] (https://github.com/lalongooo/ffmpeg4android_demo)와 같은 ffmpeg 래퍼를 "ffmpeg -i audio.wav -acodec libvorbis audio.ogg"또는 이와 비슷한 명령을 사용하여 사용할 수 있습니다. –
이론에서 나는 그것에 대해 무언가를 파고 있었고, 하나의 기능을 위해 거대한 라이브러리를 통합하는 결론은 과잉이라고 결론을 내릴 수 있습니다. ( –