Ich habe ein Problem mit Audio auf Android.AAC-Format in Android
Kurz Frage:
Ich muss spielen und Audio-Aufnahme in aac-Format eine alle Android-Geräte. Ich habe festgestellt, dass es möglich ist, beginnend mit API 10, aber auf meinem BLU-Gerät (2.3.5) funktioniert es mit MediaRecorder
und MediaPlayer
. Aber auf HTC Nexus One funktioniert es nicht. Haben Sie irgendwelche Vorschläge?
Lange Frage:
Zur Aufzeichnung und Audio in AAC-Format abspielt ich folgenden Code bin mit. Es ist ziemlich einfach und dumm, aber es funktioniert zum Testen.
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);
- erstellt Mediaplayer und Sound aus Datei spielen;
Um es auf nexus arbeiten, habe ich versucht aac-decoder - es spielt keine Datei bis zum Ende (spielt nur 6 Sekunden von 10 Sekunden Datei). Und es gibt keinen Ton wieder, der mit dem obigen Code aufgezeichnet wurde.
Auch ich habe versucht, FFmpeg zu installieren, aber ich habe keine Erfahrung, um diese Bibliothek arbeiten zu lassen.
Also können Sie etwas empfehlen?
https://code.google.com/p/aacplayer-android/ –
aac-decoder ist eine Kurzversion von aacplayer. Es spielt keine aac-Datei bis zum Ende und spielt keinen Ton ab, der vom Gerät aufgenommen wurde. – Yanny
Ich habe Teillösungen gefunden. 1. Auf einigen Geräten Audio nicht gespielt, weil ich versuche, es von Dateien deregistrieren zu spielen - Daten/Daten/com.myapp.player/files/music.aac. 2. Auf einigen Geräten funktioniert es nicht, aber ein Decoder kann die Datei bis zum Ende abspielen. Setzen Sie es einfach auf kleine Puffergröße AACPlayer aacPlayer = neuer MultiPlayer (clb, 200, 200); – Yanny