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;
- Audio Queue Services
- Audio Queue Services Programming Guide
- 音频队列服务(Audio Queue Services)
- 使用Audio Queue Services 播放和录制音频
- [iOS]使用Audio Queue Services 播放和录制音频
- 使用Audio Queue Services 播放和录制音频
- 使用Audio Queue Services 播放和录制音频
- 使用Audio Queue Services 播放和录制音频
- 使用Audio Queue Services 播放和录制音频
- [iOS]使用Audio Queue Services 播放和录制音频
- iOS使用Audio Queue Services 播放和录制音频
- 使用Audio Queue Services 播放和录制音频
- [iOS]使用Audio Queue Services 播放和录制音频
- 使用Audio Queue Services 播放和录制音频
- [iOS]使用Audio Queue Services 播放和录制音频
- 使用Audio Queue Services 播放和录制音频
- [iOS]使用Audio Queue Services 播放和录制音频
- 使用Audio Queue Services 播放和录制音频
- IP ICMP TCP UDP 校验和
- ora-01261:参数db_recovery_file_dest的目标字符串无法被翻译
- 最短路径—Dijkstra算法
- C# 轻松获取路径中文件名、目录、扩展名等
- 谈谈C 运行库中的安全字符串函数
- Audio Queue Services
- C#操作zip压缩解压
- windowsXP的简单安全设置[原创]--菜鸟必读
- MyEclipse 里面怎么查看当前方法在哪儿被调用
- 关于c++中函数的返回值
- jQuery 简单实现无刷新select二级联动
- C++自我总结
- C语言编程开发中用好位操作符
- 代码之美——Doom3源代码赏析