アンドロイドのオーディオに問題があります。AndroidのAAC形式
短い質問:
私はAAC形式ですべてのAndroidデバイスを再生し、音声を録音する必要があります。 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/files/music.aac)から再生しようとしているため、オーディオが再生されませんでした。 2.一部のデバイスでは動作しませんが、aacdecoderはファイルを最後まで再生できます。小さなバッファサイズに設定してください。AACPlayer aacPlayer =新しいMultiPlayer(clb、200、200); – Yanny