質問

ボイスレコーダーは、非圧縮のリニアPCMオーディオを必要としません。圧縮された AMR は問題ありません。オーディオの録音用に構築されたiPhoneフレームワークは非常に単純ですが、オーディオ形式(Appleから提供されている)をセットアップするために見つけた唯一の例は、LinearPCMを使用しています。他のさまざまな値の組み合わせを試しましたが、何も機能しないようです。

実際に AMR を記録するコードはありますか?

編集: AMR形式はデータ型を設定するためのオプションの1つですが、他のオプション(パケットサイズ、フレームサイズなど)は、設定に関係なく一致しないようです。

編集: PCMバージョンについては次のとおりです。

/*
 If we want to use AMR instead of PCM:
 AMR Format:
 Sampling Frequency: 8 kHz/13-bit (160 samples for 20 ms frames), filtered to 200-3400 Hz
 eight source codecs :  12.2, 1.2, 7.95, 7.40, 6.70, 5.90, 5.15, 4.75 kbit/s
 generated frame length: 244, 204,  159,  148,  134,  118,  103,   95 bits per frame
 */
format->mFormatID = kAudioFormatLinearPCM;
format->mSampleRate = 8000.0;    //8 kHz
format->mFramesPerPacket = 1;    //1 frame per packet
format->mChannelsPerFrame = 1;    //Mono
format->mBytesPerFrame = 2;        //8/bits per frame (round up)
format->mBytesPerPacket = 2;    //Same as bytes per frame
format->mBitsPerChannel = 16;    //16-bit audio
format->mReserved = 0;            //always 0
format->mFormatFlags = kLinearPCMFormatFlagIsBigEndian |
                       kLinearPCMFormatFlagIsSignedInteger |
                       kLinearPCMFormatFlagIsPacked;
役に立ちましたか?

解決

AMRコーデックは、再生ではサポートされていますが、iPhoneでのエンコード/記録ではサポートされていません。これがkAudioFormatAMR定数が存在する理由です。

公式API は、サポートされているエンコード形式が:

  • ALAC (Apple Lossless)〜> kAudioFormatAppleLossless
  • iLBC (スピーチ用のインターネット低ビットレートコーデック)〜> kAudioFormatiLBC
  • IMA / ADPCM (IMA4)〜> kAudioFormatAppleIMA4
  • リニアPCM 〜> kAudioFormatLinearPCM
  • µ -law 〜> kAudioFormatULaw
  • a-law 〜> kAudioFormatALaw

これらの形式のいずれかを試すか、または goldenmean が示唆しています。

編集:公式APIリンクの更新

他のヒント

olegueretの公式ドキュメントへのリンクを更新するには(なぜこれらを隠すのですか?)

http://developer.apple.com/library/ios /#qa/qa2008/qa1615.html

AMRコーデック形式は、iPhoneボイスレコーダーアプリでサポートされていません。

AppleのiPhoneアプリケーションフレームワークにAMRエンコーダーのオープンソースの実装を統合し、音声レコーダーにAMRエンコード形式で音声を保存させることができます。 (アップルがNDA /ライセンスによって許可されているかどうかはわかりません)。

-AD

非圧縮のリニアPCMバッファー(円形またはリング)にオーディオを録音し、別のスレッドで、独自のAMR(またはその他の)圧縮エンジンを使用してこのバッファーのデータを変換してから、圧縮オーディオデータをファイル。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top