Audio Queue Services

来源:互联网 发布:php 转成隐藏域 编辑:程序博客网 时间:2024/05/22 03:16


/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;
原创粉丝点击