1

モノタッチを使用して iPhone アプリケーションを作成しています。マイクから受信したオーディオを gsm ファイルにエンコードする必要があります。

オーディオは既に wav にエンコードされていますが、より具体的なニーズのために、GSM に録音する必要があります。マイクから gsm にエンコードする方法、または wav を gsm に変換する方法を説明しているドキュメントを誰かが教えてくれたり、見せてくれたりしたら、それは素晴らしいことです。

タイ、アクセル

- - アップデート - -

に MicrosoftGSM のエントリがありますがMonoTouch.AudioToolbox.AudioFormatType、1718449215 OSStatus エラーが発生します。その理由は、私の他の議論が正しくないからだと思います。GSM保存の仕様がわかりません。動作しないコードは次のとおりです。

//set up the NSObject Array of values that will be combined with the keys to make the NSDictionary
        NSObject[] values = new NSObject[]
        {    
            NSNumber.FromFloat (44100.0f), //Sample Rate
            NSNumber.FromInt32 ((int)MonoTouch.AudioToolbox.AudioFormatType.MicrosoftGSM),
            NSNumber.FromInt32(2),
            NSNumber.FromInt32((int)AVAudioQuality.High),
        };
        //Set up the NSObject Array of keys that will be combined with the values to make the NSDictionary
        NSObject[] keys = new NSObject[]
        {
            AVAudioSettings.AVSampleRateKey,
            AVAudioSettings.AVFormatIDKey,
            AVAudioSettings.AVNumberOfChannelsKey,
            AVAudioSettings.AVEncoderAudioQualityKey,
        };          
        //Set Settings with the Values and Keys to create the NSDictionary
        settings = NSDictionary.FromObjectsAndKeys (values, keys);
4

1 に答える 1

1

残念ながら、AVAudioRecorder を使用してGSMオーディオ ファイルを録音する組み込みの方法はありません。

サポートされているオーディオ録音形式は次のとおりです。

  • MPEG4AAC
  • Appleロスレス
  • AppleIMA4
  • iLBC
  • ULaw
  • LinearPCM

とにかく、Web サービスをセットアップし、オーディオを変換できるSoXのようなサードパーティのコンバーターを使用することができます。

ところで、MicrosoftGSM 形式を使用してレコーダーを使用しようとすると、エラーの表現である OSStatus エラー 1718449215 が発生する可能性がありkAudioFormatUnsupportedDataFormatErrorます。

アレックス

于 2012-10-25T16:10:45.690 に答える