内容の保証はできません。


/System/Library/Frameworks/AudioToolbox.framework

マネージャ Audio Queue Services

概要

この文書は、コアオーディオサービスの一部であるAudio Queue Servicesの(C言語)インタフェースについて説明します。

オーディオキュー(Audio Queue)は、オーディオの再生や録音を利用するためのソフトウェアオブジェクトです。オーディオキューの働きを下にあげます。

■ オーディオハードウェアへの接続
■ メモリ管理
■ オーディオを圧縮する際に必要に応じたコーデックを採用
■ 録音再生装置の仲介、または録音

オーディオキューサービスでは、リニアPCMによるオーディオの再生と録音、また、オーディオの圧縮(AACやApple LossLessなど)を有効にします。また、ユーザによってインストールされているコーデックによるその他の形式での圧縮も可能です。また、再生のスケジュール、複数のオーディオキューの同期、ビデオとオーディオの同期もサポートしています。

ファンクション インデックス

オーディオキューの制御

AudioQueueStart
AudioQueuePrime
AudioQueueFlush
AudioQueueStop
AudioQueuePause
AudioQueueReset

オーディオキューの生成と処理

AudioQueueNewOutput
AudioQueueNewInput
AudioQueueDispose

オーディオキューバッファの処理

AudioQueueAllocateBuffer
AudioQueueAllocateBufferWithPacketDescriptions
AudioQueueFreeBuffer
AudioQueueEnqueueBuffer
AudioQueueEnqueueBufferWithParameters

オーディオキューパラメータの操作

AudioQueueGetParameter
AudioQueueSetParameter

オーディオキュープロパティの操作

AudioQueueGetProperty
AudioQueueSetProperty
AudioQueueGetPropertySize
AudioQueueAddPropertyListener
AudioQueueRemovePropertyListener

タイミングの処理

AudioQueueCreateTimeline
AudioQueueDisposeTimeline
AudioQueueDeviceGetCurrentTime
AudioQueueDeviceGetNearestStartTime
AudioQueueDeviceTranslateTime
AudioQueueGetCurrentTime

オフラインレンダリングの実行

AudioQueueSetOfflineRenderFormat
AudioQueueOfflineRender

ファンクション

AudioQueueAddPropertyListener

プロパティリスナーのコールバックをオーディオキューに追加する。

   OSStatus AudioQueueAddPropertyListener (
       AudioQueueRef inAQ,
       AudioQueuePropertyID inID,
       AudioQueuePropertyListenerProc inProc,
       void *inUserData
   );

AudioQueueAllocateBuffer

オーディオキューオブジェクトにオーディオキューバッファを割り当てるか尋ねる。

   OSStatus AudioQueueAllocateBuffer (
       AudioQueueRef inAQ,
       UInt32 inBufferByteSize,
       AudioQueueBufferRef *outBuffer
   );

AudioQueueAllocateBufferWithPacketDescriptions

オーディオキューオブジェクトにオーディオキューバッファをパケットディスクリプタのスペースと共に割り当てるか尋ねる。

   AudioQueueAllocateBufferWithPacketDescriptions(
       AudioQueueRef           inAQ,
       UInt32                  inBufferByteSize,
       UInt32                  inNumberPacketDescriptions,
       AudioQueueBufferRef     *outBuffer
   );

AudioQueueCreateTimeline

オーディオキューのタイムラインオブジェクトを作成する。

   OSStatus AudioQueueCreateTimeline (
       AudioQueueRef inAQ,
       AudioQueueTimelineRef *outTimeline
   );

AudioQueueDeviceGetCurrentTime

オーディオキューに割り当てられているオーディオハードウェアデバイスの現在の時間を取得する。

   OSStatus AudioQueueDeviceGetCurrentTime (
       AudioQueueRef inAQ,
       AudioTimeStamp *outTimeStamp
   );

AudioQueueDeviceGetNearestStartTime

リクエスト(パラメータに入力)された開始時間に一番近い開始時間を取得する。

   OSStatus AudioQueueDeviceGetNearestStartTime (
       AudioQueueRef inAQ,
       AudioTimeStamp *ioRequestedStartTime,
       UInt32 inFlags
   );

AudioQueueDeviceTranslateTime

オーディオキューに割り当てられているオーディオハードウェアデバイスの時間を変換する。

   OSStatus AudioQueueDeviceTranslateTime (
       AudioQueueRef inAQ,
       const AudioTimeStamp *inTime,
       AudioTimeStamp *outTime
   );

AudioQueueDispose

オーディオキューを処理する。

   OSStatus AudioQueueDispose (
       AudioQueueRef inAQ,
       Boolean inImmediate
   );

AudioQueueDisposeTimeline

オーディオキューのタイムラインオブジェクトを処理する。

   OSStatus AudioQueueDisposeTimeline (
       AudioQueueRef inAQ,
       AudioQueueTimelineRef inTimeline
   );

AudioQueueEnqueueBuffer

録音用のバッファキューまたは再生用のオーディオキューにバッファを追加する。

   OSStatus AudioQueueEnqueueBuffer (
       AudioQueueRef                      inAQ,
       AudioQueueBufferRef                inBuffer,
       UInt32                             inNumPacketDescs,
       const AudioStreamPacketDescription *inPacketDescs
   );

AudioQueueEnqueueBufferWithParameters

録音用のバッファキューまたは再生用のオーディオキューに、開始時間やその他の設定を指定してバッファを追加する。

   OSStatus AudioQueueEnqueueBufferWithParameters (
       AudioQueueRef                       inAQ,
       AudioQueueBufferRef                 inBuffer,
       UInt32                              inNumPacketDescs,
       const AudioStreamPacketDescription  *inPacketDescs,
       UInt32                              inTrimFramesAtStart,
       UInt32                              inTrimFramesAtEnd,
       UInt32                              inNumParamValues,
       const AudioQueueParameterEvent      *inParamValues,
       const AudioTimeStamp                *inStartTime,
       AudioTimeStamp                      *outActualStartTime
   );

AudioQueueFlush

オーディオキューのデコーダの状態をリセットする。

   OSStatus AudioQueueFlush (
       AudioQueueRef inAQ
   );

AudioQueueFreeBuffer

オーディオキューバッファの処理をオーディオキューに尋ねる。

   OSStatus AudioQueueFreeBuffer (
       AudioQueueRef inAQ,
       AudioQueueBufferRef inBuffer
   );

AudioQueueGetCurrentTime

オーディオキューの現在の時間を取得する。

   OSStatus AudioQueueGetCurrentTime (
       AudioQueueRef inAQ,
       AudioQueueTimelineRef inTimeline,
       AudioTimeStamp *outTimeStamp,
       Boolean *outTimelineDiscontinuity
   );

AudioQueueGetParameter

オーディオキューのパラメータの値を取得する。

   OSStatus AudioQueueGetParameter (
       AudioQueueRef inAQ,
       AudioQueueParameterID inParamID,
       AudioQueueParameterValue *outValue
   );

AudioQueueGetProperty

オーディオキューのプロパティの値を取得する。

   OSStatus AudioQueueGetProperty (
       AudioQueueRef inAQ,
       AudioQueuePropertyID inID,
       void *outData,
       UInt32 *ioDataSize
   );

AudioQueueGetPropertySize

オーディオキューのプロパティの値のサイズを取得する。

   OSStatus AudioQueueGetPropertySize (
       AudioQueueRef inAQ,
       AudioQueuePropertyID inID,
       UInt32 *outDataSize
   );

AudioQueueNewInput

新しい録音用オーディオキューオブジェクトを作成する。

   OSStatus AudioQueueNewInput (
       const AudioStreamBasicDescription  *inFormat,
       AudioQueueInputCallback            inCallbackProc,
       void                               *inUserData,
       CFRunLoopRef                       inCallbackRunLoop,
       CFStringRef                        inCallbackRunLoopMode,
       UInt32                             inFlags,
       AudioQueueRef                      *outAQ
   );

AudioQueueNewOutput

新しい再生用オーディオキューオブジェクトを作成する。

   OSStatus AudioQueueNewOutput (
       const AudioStreamBasicDescription   *inFormat,
       AudioQueueOutputCallback            inCallbackProc,
       void                                *inUserData,
       CFRunLoopRef                        inCallbackRunLoop,
       CFStringRef                         inCallbackRunLoopMode,
       UInt32                              inFlags,
       AudioQueueRef                       *outAQ
   );

AudioQueueOfflineRender

再生オーディオキューを使用して、オーディオをデバイスの代わりにバッファへエキスポートする。

   OSStatus AudioQueueOfflineRender (
       AudioQueueRef inAQ,
       const AudioTimeStamp *inTimestamp,
       AudioQueueBufferRef ioBuffer,
       UInt32 inNumberFrames
   );

AudioQueuePause

オーディオの再生と録音を一時停止する。

   OSStatus AudioQueuePause (
       AudioQueueRef inAQ
   );

AudioQueuePrime

再生用に用意してある待機状態のバッファをデコードする。

   OSStatus AudioQueuePrime (
       AudioQueueRef inAQ,
       UInt32 inNumberOfFramesToPrepare,
       UInt32 *outNumberOfFramesPrepared
   );

AudioQueueRemovePropertyListener

オーディオキューからプロパティリスナーコールバックを削除する。

   OSStatus AudioQueueRemovePropertyListener (
       AudioQueueRef inAQ,
       AudioQueuePropertyID inID,
       AudioQueuePropertyListenerProc inProc,
       void *inUserData
   );

AudioQueueReset

オーディオキューをリセットする。

   OSStatus AudioQueueReset (
       AudioQueueRef inAQ
   );

AudioQueueSetOfflineRenderFormat

レンダリングモードと再生オーディオキュー用のオーディオフォーマットをセットする。

   OSStatus AudioQueueSetOfflineRenderFormat (
       AudioQueueRef inAQ,
       const AudioStreamBasicDescription *inFormat,
       const AudioChannelLayout *inLayout
   );

AudioQueueSetParameter

再生オーディオキューのパラメーターの値をセットする。

   OSStatus AudioQueueSetParameter (
       AudioQueueRef inAQ,
       AudioQueueParameterID inParamID,
       AudioQueueParameterValue inValue
   );

AudioQueueSetProperty

オーディオキューのプロパティの値をセットする。

   OSStatus AudioQueueSetProperty (
       AudioQueueRef inAQ,
       AudioQueuePropertyID inID,
       const void *inData,
       UInt32 inDataSize
   );

AudioQueueStart

オーディオの再生または録音を開始する。

   OSStatus AudioQueueStart (
       AudioQueueRef inAQ,
       const AudioTimeStamp *inStartTime
   );

AudioQueueStop

オーディオの再生または録音を停止する。

   OSStatus AudioQueueStop (
       AudioQueueRef inAQ,
       Boolean inImmediate
   );

コールバック インデックス

再生・録音用のオーディオキューバッファの処理

AudioQueueInputCallback
AudioQueueOutputCallback

プロパティリスナーの定義

AudioQueuePropertyListenerProc

コールバック

AudioQueueInputCallback

録音オーディオキューがオーディオキューバッファを満たし終わった時に呼ばれるコールバック関数のポインターを定義する。

   typedef void (*AudioQueueInputCallback) (
       void                                *inUserData,
       AudioQueueRef                       inAQ,
       AudioQueueBufferRef                 inBuffer,
       const AudioTimeStamp                *inStartTime,
       UInt32                              inNumberPacketDescriptions,
       const AudioStreamPacketDescription  *inPacketDescs
   );

AudioQueueOutputCallback

オーディオキューバッファが(再)利用可能な時に呼ばれるコールバック関数のポインターを定義する。

   typedef void (*AudioQueueOutputCallback) (
       void                 *inUserData,
       AudioQueueRef        inAQ,
       AudioQueueBufferRef  inBuffer
   );

AudioQueuePropertyListenerProc

オーディオキュープロパティの値の変更が指定された時に呼ばれるコールバック関数のポインターを定義する。

   typedef void (*AudioQueuePropertyListenerProc) (
       void                  *inUserData,
       AudioQueueRef         inAQ,
       AudioQueuePropertyID  inID
   );

データタイプ

AudioQueueBuffer

オーディオキューバッファを定義する。

   typedef struct AudioQueueBuffer {
       const UInt32                 mAudioDataBytesCapacity;
       void                         *const mAudioData;
       UInt32                       mAudioDataByteSize;
       void                         *mUserData;
       const UInt32                 mPacketDescriptionCapacity;
       AudioStreamPacketDescription *const mPacketDescriptions;
       UInt32                       mPacketDescriptionCount;
   } AudioQueueBuffer;

AudioQueueRef

   typedef struct OpaqueAudioQueue *AudioQueueRef;

オーディオキューを表現する不透明なデータタイプを定義する。

AudioQueueTimelineRef

オーディオキュータイムラインオブジェクトを表現する不透明なデータタイプを定義する。

   typedef struct OpaqueAudioQueueTimeline *AudioQueueTimelineRef;

AudioQueueLevelMeterState

オーディオキューチャンネルの現在の情報計測レベルを指定する。

   typedef struct AudioQueueLevelMeterState {
       Float32     mAveragePower;
       Float32     mPeakPower;
   };  AudioQueueLevelMeterState;

AudioQueueParameterEvent

オーディオキューパラメータと関連する値を指定する。

   struct AudioQueueParameterEvent {
       AudioQueueParameterID     mID;
       AudioQueueParameterValue  mValue;
   };  typedef struct AudioQueueParameterEvent AudioQueueParameterEvent;

AudioQueueParameterID

オーディオキューパラメータを独自に識別するUInt32の値。

   typedef UInt32 AudioQueueParameterID;

AudioQueueParameterValue

オーディオキューパラメータ用のFloat32の値。

    typedef Float32 AudioQueueParameterValue;

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-01-25 (火) 15:41:53 (2489d)