2

私の質問の一部は次のように答えられます: iPhone と Android で録音および再生できるオーディオ形式はどれですか?

しかし、可能であれば、さらに質問したいと思います。

単純化された使用例は次のとおりです。クライアント アプリ (iPhone または Android のいずれか) は、内蔵マイクを介してオーディオを録音します。この音声はサーバーに送信されます。同じクライアント アプリから、ユーザーは録音されたオーディオ ファイルのリストを表示し、再生のためにストリーミングすることができます。

録音とストリーミング再生に最適なオーディオ形式を確認しようとしています。

2 つの質問があります。

1) 上記のリンクから、iPhone と Android の両方が録音用の AAC をサポートしているようです。ただし、AAC の亜種については混乱しています。Android は AAC ADTS をサポートしているようですが、iPhone は別のもの (MPEG-4) です。これらは同じですか?

2) クライアント デバイスにそのままストリーミングできるように、iPhone/Android の両方で同じ形式で記録できることを望んでいました。ただし、サーバーでのトランスコーディングがより良いオプションである場合、そのために推奨される形式は何ですか?

前もって感謝します!

4

1 に答える 1

3

結局、iOSで、私は最終的に使用することになりました

NSDictionary *recordSettings = [NSDictionary dictionaryWithObjectsAndKeys:

                                [NSNumber numberWithInt:kAudioFormatMPEG4AAC], AVFormatIDKey,                                    
                                [NSNumber numberWithInt:AVAudioQualityMin], AVEncoderAudioQualityKey,
                                [NSNumber numberWithInt:16], AVEncoderBitRateKey,
                                [NSNumber numberWithInt: 1], AVNumberOfChannelsKey,
                                [NSNumber numberWithFloat:16000.0], AVSampleRateKey,
                                nil];

Android の場合:

_mediaRecorder = new MediaRecorder();
_mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
_mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AAC_ADTS);
_mediaRecorder.setOutputFile(_mediaFile.getAbsolutePath());
_mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

結果として得られたファイルは、iOS と Android の両方で再生可能な AAC ファイルでした。それが役立つことを願っています!

于 2013-11-22T08:25:16.283 に答える