ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × QA1318: マジッククッキー情報を伴う音声データの扱い方 原文 Technical Q&A QA1318: How to handle audio data with magic cookie information (http://developer.apple.com/qa/qa2001/qa1318.html) 最終更新日:2003年10月22日 質問: AudioConverter を使用する際、マジッククッキーを持った音声データはどのように扱えばよろしいでしょうか? 回答: いくつかの音声形式は、音声データを伸長するのに必要となる、その形式に関連付けられたマジッククッキーを持ちます。 マジッククッキー(時にマジックナンバーとも呼ばれます)は、データ形式を表わす為に使用されるファイルヘッダを含む情報です。 音声データを変換する際は、そのデータ形式がマジッククッキーを持っているかどうかを見て確認しなければなりません。 音声データが関連付けられたマジッククッキーを持つようであれば、AudioConverterSetProperty と kAudioConverterDecompressionMagicCookie を使って、その情報を Audio Converter に付け加え、適切に AudioFile を伸長しなければなりません。 メモ: 殆どのデータ形式はマジッククッキー情報を持ちませんが、データの変換前に確認しなければなりません。 Listing 1. Audio Converter でマジッククッキーを利用する AudioConverterRef *conv; AudioFileID *musicFileID; UInt32 magicCookieSize = 0; //... // ここで新しく AudioFile を開き、かつ、新しく AudioConverter を作成します // ... //マジッククッキーが存在すれば、それを取得しコンバータに渡します err = AudioFileGetPropertyInfo(*musicFileID, kAudioFilePropertyMagicCookieData, &magicCookieSize, NULL); if (err == noErr) { void *magicCookie = calloc (1, magicCookieSize); if (magicCookie) { err = AudioFileGetProperty (*musicFileID, kAudioFilePropertyMagicCookieData, &magicCookieSize, magicCookie); // マジッククッキーの伸長パラメータが存在したら、AudioConverter に渡す if (err == noErr) { err = AudioConverterSetProperty( *conv, kAudioConverterDecompressionMagicCookie, magicCookieSize, magicCookie); } if (magicCookie) free(magicCookie); } }else //音声データがマジッククッキーデータを必要としない場合 err = noErr; //エラー状態をリセットする 更新履歴 日付 内容 2003-10-22AudioConverter使用時のマジッククッキーを伴う音声ファイルの扱い方に関する新規ドキュメント translation/adc/audio/technical_qa/qa1318_how_to_handle_audio_data_with_magic_cookie_information.txt 最終更新: 2015-01-06 11:51(外部編集)