Androidのオーディオに問題があります。
短い質問:
すべての Android デバイスでオーディオを 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 を作成し、ファイルからサウンドを再生します。
nexusで動作させるために、aac-decoderを試しました-ファイルを最後まで再生しません(10秒のファイルのうち6秒しか再生しません)。また、上記のコードで録音されたサウンドは再生されません。
また、FFmpeg をインストールしようとしましたが、このライブラリを機能させる経験がありません。
それで、何かお勧めできますか?