Android에서 오디오에 문제가 있습니다.Android의 AAC 형식
짧은 질문 :
내가 AAC 형식으로 모든 안드로이드 장치를 오디오를 재생하고 녹음 할 필요가있다. API 10에서 시작하는 것이 가능하지만 BLU 장치 (2.3.5)에서는 MediaRecorder
및 MediaPlayer
을 사용하여 작동합니다. 하지만 HTC Nexus One에서는 작동하지 않습니다. 의견이 있으십니까?
긴 질문 :
기록하고 난 다음 코드를 사용하고 AAC 포맷으로 오디오를 재생합니다. 그것은 매우 간단하고 어리 석었지만 테스트를 위해 작동합니다.
String pathForAppFiles = getFilesDir()
.getAbsolutePath();
pathForAppFiles += "/bla.mp4";
if (audioRecorder == null) {
File file = new File(pathForAppFiles);
if (file.exists())
file.delete();
audioRecorder = new MediaRecorder();
audioRecorder
.setAudioSource(MediaRecorder.AudioSource.MIC);
audioRecorder
.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
audioRecorder
.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
audioRecorder.setOutputFile(pathForAppFiles);
try {
audioRecorder.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
audioRecorder.start();
} else {
audioRecorder.stop();
audioRecorder.release();
audioRecorder = null;
new AudioUtils().playSound(pathForAppFiles);
}
new AudioUtils().playSound(pathForAppFiles);
- MediaPlayer를 만들고 파일에서 사운드를 재생합니다.
넥서스에서 작동하게하려면 aac-decoder을 시도했습니다. 파일을 마지막까지 재생하지 않습니다 (10 초 파일의 6 초만 재생). 그리고 위 코드에서 기록한 사운드는 재생되지 않습니다.
또한 FFmpeg를 설치하려고했지만이 라이브러리 작업을 경험하지 못했습니다.
추천 할만한 제품이 있습니까?
https://code.google.com/p/aacplayer-android/ –
aac-decoder는 aacplayer의 짧은 버전입니다. 끝까지 aac 파일을 재생하지 않으며 장치에서 녹음 한 사운드를 재생하지 않습니다. – Yanny
부분적인 해결책을 찾았습니다. 1. 일부 장치에서는 오디오 파일 (데이터/데이터/com.myapp.player/파일/music.aac)에서 재생하려고하기 때문에 오디오가 재생되지 않았습니다. 2. 일부 장치에서는 작동하지 않지만 aacdecoder는 파일을 끝까지 재생할 수 있습니다. 그냥 작은 버퍼 크기로 설정합니다. AACPlayer aacPlayer = 새 MultiPlayer (clb, 200, 200); – Yanny