iPhoneから録音したオーディオをAndroidで再生しようとしています。以下は、Androidでビデオを再生するソースコードです。ファイルの拡張子は MP4 です。
Uri savedUri = Uri.fromFile(savedUri_file);
MediaPlayer mediaPlayer = MediaPlayer.create(MainActivity.this, getImageUri());
mediaPlayer.start();
MediaPlayer.create は null 値を返します。VLC でオーディオのコーデック情報を確認しました。MPEG AACオーディオ(mp4a)です。
Android 2.3でこれをプレイする必要があります。ジェリービーンでは正常に動作しています。また、2.3でvideoviewを試してみましたが、うまくいきました。オーディオが再生されます。
また、SDカードから同じファイルを再生しようとしたとき(MP4ファイルを録音して)、デフォルトのプレーヤーで再生されました。
しかし、Androidデバイスから作成されたオーディオを再生しようとすると、再生されます。androidから作成したaudionファイルのコーデック情報はAMR Narrow Band(samr)です。
以下は、からオーディオを作成するために使用されるコードです。
NSMutableDictionary *defaultSettings = [[[NSMutableDictionary alloc] init]autorelease];
[defaultSettings setValue :[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey:AVFormatIDKey];
[defaultSettings setValue:[NSNumber numberWithFloat:16000.0] forKey:AVSampleRateKey];
[defaultSettings setValue:[NSNumber numberWithInt: 1] forKey:AVNumberOfChannelsKey];
ヒントはありますか?