差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
translation:working:翻訳2 [2014-08-29 13:15] Decomo Page moved from 翻訳:作業中:翻訳2 to translation:working:翻訳2 |
translation:working:翻訳2 [2018-05-07 22:48] (現在) Decomo |
||
---|---|---|---|
行 4: | 行 4: | ||
オーディオHALは、それを通してアプリケーションがオーディオハードウェアへのアクセスを可能にする、抽象的概念を提供する。 | オーディオHALは、それを通してアプリケーションがオーディオハードウェアへのアクセスを可能にする、抽象的概念を提供する。 | ||
- | これを達成するために、HALはシステムの様々な構成部位へのアクセスを行う、小さなAudioObjectセットを備える。 | + | これを達成するために、HALはシステムの様々な構成部位へのアクセスを行う、小さな'' |
- | 全てのAudioObjectはプロパティの集合を持ち、状態の取得や操作を行うことが出来る。プロパティは三次元座標(ordered triple)的にアクセスされる。 | + | 全ての'' |
1つめの軸はプロパティを分類する(describe)セレクタである。 | 1つめの軸はプロパティを分類する(describe)セレクタである。 | ||
- | 他の2つの軸はAudioObjectの特定の部分を識別するスコープとエレメントで、その中からセレクタを探す。 | + | 他の2つの軸は'' |
- | AudioObjectPropertyAddress構造体はプロパティのアドレスをカプセル化する。 | + | '' |
プロパティの値は型付けされていないデータブロックで、その内容はセレクターの仕様に依存する。 | プロパティの値は型付けされていないデータブロックで、その内容はセレクターの仕様に依存する。 | ||
いくつかのセレクタは問い合わせ時に修飾データ(qualifier)を要求する。 | いくつかのセレクタは問い合わせ時に修飾データ(qualifier)を要求する。 | ||
行 15: | 行 15: | ||
プロパティ値の変化は常に非同期であることを考慮せよ。 | プロパティ値の変化は常に非同期であることを考慮せよ。 | ||
- | アプリケーションは AudioObjectHasProperty(), | + | アプリケーションは'' |
- | また、アプリはAudioObjectGetPropertyData()とAudioObjectSetPropertyData()でプロパティの値を操作する。 | + | また、アプリは'' |
- | アプリはAudioObjectAddPropertyListener()とAudioObjectRemovePropertyListener()で、プロパティの値が変化した際に呼ばれる関数の登録と削除を行う。 | + | アプリは'' |
- | The class of an AudioObject | + | '' |
オブジェクトのために利用可能なクラスセットは、ここで定義されているものに限られる。 | オブジェクトのために利用可能なクラスセットは、ここで定義されているものに限られる。 | ||
これら以外のクラスは存在しない。 | これら以外のクラスは存在しない。 | ||
クラスセットは、あるクラスがその親クラスのプロパティやルーチンを継承するといった、階層構造にまとめられている。 | クラスセットは、あるクラスがその親クラスのプロパティやルーチンを継承するといった、階層構造にまとめられている。 | ||
- | 全てのAudioObjectクラス群の基底クラスがAudioObjectクラスである。 | + | 全てのAudioObjectクラス群の基底クラスが'' |
- | そのようなものとして、AudioObjectクラスは、分類、人間が読める名前といった基本プロパティを提供し、各々のAudioObjectオブジェクトはそれらを持つ。 | + | そのようなものとして、'' |
- | 他の重要なクラスとして、AudioSystemObject, | + | 他の重要なクラスとして、'' |
HAL中のAudioObjectは包含階層で並べられている。 | HAL中のAudioObjectは包含階層で並べられている。 | ||
- | 階層の根本は1つで、それはAudioSystemObjectクラスの唯一のインスタンスである。 | + | 階層の根本は1つで、それは'' |
- | AudioSystemObjectのプロパティは、様々なデフォルトデバイスや通知ランループといった、プロセス全体にまたがる設定を表す。 | + | '' |
- | またAudioSystemObjectは利用可能な全てのAudioDeviceを持つ。 | + | また'' |
- | AudioDeviceクラスのインスタンスは個々のオーディオ装置をカプセル化したものである。 | + | '' |
- | AudioDeviceはIOの基本ユニットとしての役割を果たす。 | + | '' |
- | 1つのIOサイクルを提供し、サイクルに基づくタイミングソースや全てのバッファとサイクルの同期を提供する。 | + | '' |
- | The IO cycle presents all the synchronized buffers to the client in the same call out along with time stamps that specify the current time, when the input data was acquired and when the output data will be presented. | + | I/Oサイクルは同一呼び出し内で、全ての同期されたバッファを現在時間を指定するタイムスタンプと伴にクライアントに提供し、そしてその際、入力データが獲得され、また出力データも渡されるだろう。 |
- | AudioDeviceはAudioStreamクラスのインスタンスを含む。 | + | '' |
- | AudioStreamはユーザー・カーネル領域にまたがって転送されるデータの1つのバッファを表す。 | + | '' |
- | それだけに、AudioStreamはフォーマット情報の門番である。 | + | それだけに、'' |
各々がそれ自身のフォーマットと利用可能なフォーマットの一覧を持っている。 | 各々がそれ自身のフォーマットと利用可能なフォーマットの一覧を持っている。 | ||
- | AudioStreamは、エンコードされたフォーマットや非オーディオフォーマットを含む、あらゆる形式のデータを提供することが出来る。 | + | '' |
フォーマットがリニアPCMの場合、そのデータは常にネイティブエンディアンの32ビット浮動小数点数として表される。 | フォーマットがリニアPCMの場合、そのデータは常にネイティブエンディアンの32ビット浮動小数点数として表される。 | ||
ハードウェアの実際の物理フォーマットとの全ての変換は、デバイスドライバーによって行われる。 | ハードウェアの実際の物理フォーマットとの全ての変換は、デバイスドライバーによって行われる。 | ||
- | AudioDeviceとAudioStreamの両者は、AudioControlクラスあるいはその多くのサブクラスのインスタンスを含むことが出来る。 | + | '' |
- | AudioControlは、ゲイン、ミュート、データソース選択などといった、そのオブジェクトの特定の側面を表し、操作するプロパティを提供する。 | + | '' |
- | 多くの共通コントロールは、AudioDeviceかAudioStreamのプロパティとして利用可能である。 | + | 多くの共通コントロールは、'' |
===== AudioDevice系ルーチン ===== | ===== AudioDevice系ルーチン ===== | ||
行 85: | 行 85: | ||
|< - 4em >| | |< - 4em >| | ||
^AudioDeviceGetNearestStartTime^^^ | ^AudioDeviceGetNearestStartTime^^^ | ||
- | ^ 説明 | + | ^ 説明 |
^ 引数 | ^ 引数 | ||
^ ::: | AudioTimeStamp*ioRequestedStartTime | AudioTimeStampのポインタで、入力では要求開始時間を入れる。出力では、要求時間と同値ないし、それ以降が返る。これはそのデバイスの制限によって決定される。| | ^ ::: | AudioTimeStamp*ioRequestedStartTime | AudioTimeStampのポインタで、入力では要求開始時間を入れる。出力では、要求時間と同値ないし、それ以降が返る。これはそのデバイスの制限によって決定される。| | ||
行 226: | 行 226: | ||
^ 互換性 | Mac OS X v10.0以降 || | ^ 互換性 | Mac OS X v10.0以降 || | ||
+ | |< - 4em >| | ||
+ | ^AudioHardwareGetPropertyInfo^^^ | ||
+ | ^ 説明 | ||
+ | ^ 引数 | ||
+ | ^ ::: | UInt32 *outSize| プロパティデータサイズのバイト数を受け取るUInt32へのポインタ。サイズ情報が不要ならばNULLとすることが出来る。| | ||
+ | ^ ::: | Boolean *outWritable| 指定プロパティの書き込み可能フラグを受け取るBooleanへのポインタ。書き込み可能情報が不要ならばNULLとすることが出来る。 | | ||
+ | ^ 返値 | ||
+ | ^ 詳解 | ||
+ | ^ 互換性 | Mac OS X v10.0以降 || | ||
- | AudioHardwareGetPropertyInfo | + | |< - 4em >| |
- | Retrieve information about the given property. | + | ^AudioHardwareRemovePropertyListener^^^ |
- | extern OSStatus AudioHardwareGetPropertyInfo( | + | ^ 説明 |
- | AudioHardwarePropertyID inPropertyID, | + | ^ 引数 |
- | UInt32*outSize, | + | ^ ::: |
- | Boolean*outWritable); | + | ^ 返値 |
- | Parameters | + | ^ 詳解 |
- | inPropertyID | + | ^ 互換性 | Mac OS X v10.0以降 || |
- | The AudioHardwarePropertyID of the property to query. | + | |
- | outSize | + | |< - 4em >| |
- | A pointer to a UInt32 that receives the size of the property data in bytes on exit. This can be NULL if the size information is not being requested. | + | ^AudioHardwareRemoveRunLoopSource^^^ |
- | outWritable | + | ^ 説明 |
- | A pointer to a Boolean that receives indication of whether or not the given property can be set. This can be NULL if the writability is not being requested. | + | ^ 引数 |
- | Return Value | + | ^ 返値 |
- | An OSStatus indicating success or failure. | + | ^ 詳解 |
- | Discussion | + | ^ 互換性 | Mac OS X v10.3以降 || |
- | Note that the same functionality is provided by the functions AudioObjectHasProperty(), | + | |
- | Availability | + | |< - 4em >| |
- | Introduced in Mac OS X v10.0. | + | ^AudioHardwareSetProperty^^^ |
- | AudioHardwareRemovePropertyListener | + | ^ 説明 |
- | Unregisters the given AudioHardwarePropertyListenerProc | + | ^ 引数 |
- | extern OSStatus AudioHardwareRemovePropertyListener( | + | ^ ::: |
- | | + | ^ ::: |
- | AudioHardwarePropertyListenerProc inProc); | + | ^ 返値 |
- | Parameters | + | ^ 詳解 |
- | inPropertyID | + | ^ 互換性 | Mac OS X v10.0以降 || |
- | The AudioHardwarePropertyID of the property to stop listening to. | + | |
- | inProc | + | |< - 4em >| |
- | AudioHardwarePropertyListenerProc | + | ^AudioHardwareUnload^^^ |
- | Return Value | + | ^ 説明 |
- | An OSStatus | + | ^ 引数 |
- | Discussion | + | ^ 返値 |
- | Note that the same functionality is provided by AudioObjectRemovePropertyListener in conjunction with AudioObjectPropertyListenerProc. | + | ^ 互換性 | Mac OS X v10.1以降 || |
- | Availability | + | |
- | Introduced in Mac OS X v10.0. | + | |
- | AudioHardwareRemoveRunLoopSource | + | |
- | Remove the given CFRunLoopSource | + | |
- | extern OSStatus AudioHardwareRemoveRunLoopSource( | + | |
- | | + | |
- | Parameters | + | |
- | inRunLoopSource | + | |
- | The CFRunLoopSource to remove. | + | |
- | Return Value | + | |
- | An OSStatus | + | |
- | Discussion | + | |
- | The CFRunLoop | + | |
- | Availability | + | |
- | Introduced in Mac OS X v10.3. | + | |
- | AudioHardwareSetProperty | + | |
- | Tells the AudioSystemObject to change the value of the given property using the provided data. | + | |
- | extern OSStatus | + | |
- | AudioHardwarePropertyID inPropertyID, | + | |
- | UInt32 inPropertyDataSize, | + | |
- | const void*inPropertyData); | + | |
- | Parameters | + | |
- | inPropertyID | + | |
- | The AudioHardwarePropertyID of the property to change. | + | |
- | inDataSize | + | |
- | A UInt32 indicating the size of the buffer pointed to by inData. | + | |
- | inData | + | |
- | The buffer containing the data to be used to change the property' | + | |
- | Return Value | + | |
- | An OSStatus | + | |
- | Discussion | + | |
- | Note that the value of the property should not be considered changed until the HAL has called the listeners as many properties values are changed asynchronously. Also note that the same functionality is provided by the function | + | |
- | Availability | + | |
- | Introduced in Mac OS X v10.0. | + | |
- | AudioHardwareUnload | + | |
- | When this routine is called, all IO on all devices within a process will be terminated and all resources capable of being released will be released. This routine essentially returns the HAL to it's uninitialized state. | + | |
- | extern OSStatus AudioHardwareUnload(); | + | |
- | Return Value | + | |
- | An OSStatus | + | |
- | Availability | + | |
- | Introduced in Mac OS X v10.1. | + | |
===== AudioObject系ルーチン ===== | ===== AudioObject系ルーチン ===== | ||
行 383: | 行 351: | ||
^ 返値 | ^ 返値 | ||
^ 互換性 | Mac OS X v10.4以降 || | ^ 互換性 | Mac OS X v10.4以降 || | ||
- | |||
? kAudioDevicePropertyPlugIn | ? kAudioDevicePropertyPlugIn | ||
- | : [OSStatus] AudioDevice用のIOAudioドライバープラグイン読込みで発生する何らかのエラーコード、もしくはプラグイン読込みが成功すればkAudioHardwareNoErrorを得る。このプロパティはプラグイン読込みに対応するIOAudioベースAudioDeviceドライバーにのみ存在する。 | + | : **OSStatus** |
+ | : AudioDevice用のIOAudioドライバープラグイン読込みで発生する何らかのエラーコード、もしくはプラグイン読込みが成功すればkAudioHardwareNoErrorを得る。このプロパティはプラグイン読込みに対応するIOAudioベースAudioDeviceドライバーにのみ存在する。 | ||
? kAudioDevicePropertyConfigurationApplication | ? kAudioDevicePropertyConfigurationApplication | ||
- | : [CFString] AudioDevice設定GUIを提供するアプリケーションのバンドルID。デフォルト値はオーディオMIDI設定.appのバンドルIDである。返されたCFObjectの解放は呼び出し側が責を負う。 | + | : **CFString** |
+ | : AudioDevice設定GUIを提供するアプリケーションのバンドルID。デフォルト値はオーディオMIDI設定.appのバンドルIDである。返されたCFObjectの解放は呼び出し側が責を負う。 | ||
? kAudioDevicePropertyDeviceUID | ? kAudioDevicePropertyDeviceUID | ||
- | : [CFString] AudioDeviceの永続的な識別子。AudioDeviceのUIDはシステムの起動をまたいでも持続する。UID文字列の中身はブラックボックスであり、個々のAudioDeviceハードウェアインスタンスに特有、ないしCPUに特有の内容を含む可能性がある。故に、それらはCPUを間の受け渡しやハードウェアの類似モデルの識別には適さない。 | + | : **CFString** |
+ | : AudioDeviceの永続的な識別子。AudioDeviceのUIDはシステムの起動をまたいでも持続する。UID文字列の中身はブラックボックスであり、個々のAudioDeviceハードウェアインスタンスに特有、ないしCPUに特有の内容を含む可能性がある。故に、それらはCPU間の受け渡しやハードウェアの類似モデルの識別には適さない。 | ||
? kAudioDevicePropertyModelUID | ? kAudioDevicePropertyModelUID | ||
- | : A CFString | + | : **CFString** |
+ | : AudioDeviceの型番の永続的な識別子。この識別子は、たとえ2つのAudioDeviceが同一製造元の全く同一のモデルだったとしても一意である。加えて、識別子はそのAudioDeviceが現れるマシンを問わず同一であるべきである。 | ||
? kAudioDevicePropertyTransportType | ? kAudioDevicePropertyTransportType | ||
- | : [UInt32] AudioDeviceとCPUの接続方法。Constants for some of the values for this property can be found in . | + | : **UInt32** |
+ | : AudioDeviceとCPUの接続方法。Constants for some of the values for this property can be found in . | ||
? kAudioDevicePropertyRelatedDevices | ? kAudioDevicePropertyRelatedDevices | ||
- | : [AudioDeviceIDの配列] 関連するAudioDevice装置を表す。IOAudioベースの装置では、同一のIOAudioDeviceオブジェクトを共有するAudioDevic同士は関連付けられる。 | + | : **AudioDeviceIDの配列** |
+ | : 関連するAudioDevice装置を表す。IOAudioベースの装置では、同一のIOAudioDeviceオブジェクトを共有するAudioDevic同士は関連付けられる。 | ||
? kAudioDevicePropertyClockDomain | ? kAudioDevicePropertyClockDomain | ||
- | : [UInt32] AudioDeviceが属するクロックドメイン。同じ値を持つAudioDeviceはハードウェア的に同期を取ることが出来る。しかし、値が0の場合、そのデバイスのクロックドメインは不定であることを表し、他の全てのデバイスから分離されていると考えるべし。たとえ、それらが同様にクロックドメインとして0を持っていたとしても。 | + | : **UInt32** |
+ | : AudioDeviceが属するクロックドメイン。同じ値を持つAudioDeviceはハードウェア的に同期を取ることが出来る。しかし、値が0の場合、そのデバイスのクロックドメインは不定であることを表し、他の全てのデバイスから分離されていると考えるべし。たとえ、それらが同様にクロックドメインとして0を持っていたとしても。 | ||
? kAudioDevicePropertyDeviceIsAlive | ? kAudioDevicePropertyDeviceIsAlive | ||
- | : [UInt32] 1はデバイスの準備が出来ており利用可能、0はデバイスは利用可能だが間もなく使えなくなることを表す。 | + | : **UInt32** |
+ | : 1はデバイスの準備が出来ており利用可能、0はデバイスは利用可能だが間もなく使えなくなることを表す。 | ||
? kAudioDevicePropertyDeviceHasChanged | ? kAudioDevicePropertyDeviceHasChanged | ||
- | : [UInt32] 値は意味を持たない。The type of this property is a UInt32, but it's value has no meaning. This property exists so that clients can listen to it and be told when the configuration of the AudioDevice | + | : **UInt32** (ただし値に意味はない) |
+ | : このプロパティは、 クライアントによる' | ||
? kAudioDevicePropertyDeviceIsRunning | ? kAudioDevicePropertyDeviceIsRunning | ||
- | : [UInt32] 0はAudioDeviceがIO処理を行っていない状態、1は処理を行っている状態を表す。留意すべきは、IOProcにNULLを渡しAudioDeviceStart()を呼ぶといった、実効性のないIOProcでもデバイスは走るという事である。また、このプロパティの通知は常にAudioDeviceのIOスレッドから送信される点にも留意されたい。 | + | : **UInt32** |
+ | : 0はAudioDeviceがIO処理を行っていない状態、1は処理を行っている状態を表す。留意すべきは、IOProcにNULLを渡しAudioDeviceStart()を呼ぶといった、実効性のないIOProcでもデバイスは走るという事である。また、このプロパティの通知は常にAudioDeviceのIOスレッドから送信される点にも留意されたい。 | ||
? kAudioDevicePropertyDeviceIsRunningSomewhere | ? kAudioDevicePropertyDeviceIsRunningSomewhere | ||
- | : [UInt32] 1はAudioDeviceがシステムの少なくとも1つのプロセスで実行中、0は全く実行していない状態を表す。 | + | : **UInt32** |
+ | : 1はAudioDeviceがシステムの少なくとも1つのプロセスで実行中、0は全く実行していない状態を表す。 | ||
? kAudioDevicePropertyDeviceCanBeDefaultDevice | ? kAudioDevicePropertyDeviceCanBeDefaultDevice | ||
- | : [UInt32] 1はAudioDeviceがkAudioHardwarePropertyDefaultInputDeviceかkAudioHardwarePropertyDefaultOutputDeviceの選択肢となれる事を示す。どちらのプロパティかはスコープに依存する。 | + | : **UInt32** |
+ | : 1はAudioDeviceがkAudioHardwarePropertyDefaultInputDeviceかkAudioHardwarePropertyDefaultOutputDeviceの選択肢となれる事を示す。どちらのプロパティかはスコープに依存する。 | ||
? kAudioDevicePropertyDeviceCanBeDefaultSystemDevice | ? kAudioDevicePropertyDeviceCanBeDefaultSystemDevice | ||
- | : [UInt32] 1はAudioDeviceがkAudioHardwarePropertyDefaultSystemOutputDeviceの選択肢となれる事を示す。 | + | : **UInt32** |
+ | : 1はAudioDeviceがkAudioHardwarePropertyDefaultSystemOutputDeviceの選択肢となれる事を示す。 | ||
? kAudioDeviceProcessorOverload | ? kAudioDeviceProcessorOverload | ||
- | : [UInt32] 値は意味を持たない。このプロパティは、AudioDeviceがIOサイクルのデッドラインを超えてしまった時に、それをクライアントに通知するために存在している。留意すべきは、本プロパティの通知は常にAudioDeviceのIOスレッドから送信される事である。 | + | : **UInt32** (ただし値に意味はない) |
+ | : このプロパティは、AudioDeviceがIOサイクルのデッドラインを超えてしまった時に、それをクライアントに通知するために存在している。留意すべきは、本プロパティの通知は常にAudioDeviceのIOスレッドから送信される事である。 | ||
? kAudioDevicePropertyHogMode | ? kAudioDevicePropertyHogMode | ||
- | : [pid_t] 現在AudioDeviceに排他アクセスを行っているプロセスIDを表す。-1の時は全てのプロセスで利用可能な事を示す。AudioDeviceがnon-mixableモードの場合、そのHALはIOProcを開始する最初のプロセスに代わって自動で占有モード(hog mode)に切り替わる。 | + | : **pid_t** |
+ | : 現在AudioDeviceに排他アクセスを行っているプロセスIDを表す。-1の時は全てのプロセスで利用可能な事を示す。AudioDeviceがnon-mixableモードの場合、そのHALはIOProcを開始する最初のプロセスに代わって自動で占有モード(hog mode)に切り替わる。 | ||
? kAudioDevicePropertyLatency | ? kAudioDevicePropertyLatency | ||
- | : [UInt32] AudioDeviceの遅延フレーム数を表す。入力と出力の遅延時間は異なる可能性に注意すべきである。加えて、AudioDeviceのAudioStreamは更なる遅延を持つ可能性があるため、同様に問い合わせるべし。入出力デバイスとその各ストリームにレイテンシがあった場合、ストリームの総レイテンシはデバイスレイテンシとストリームレイテンシの合算である。 | + | : **UInt32** |
+ | : AudioDeviceの遅延フレーム数を表す。入力と出力の遅延時間は異なる可能性に注意すべきである。加えて、AudioDeviceのAudioStreamは更なる遅延を持つ可能性があるため、同様に問い合わせるべし。入出力デバイスとその各ストリームにレイテンシがあった場合、ストリームの総レイテンシはデバイスレイテンシとストリームレイテンシの合算である。 | ||
? kAudioDevicePropertyBufferFrameSize | ? kAudioDevicePropertyBufferFrameSize | ||
- | : [UInt32] IOバッファのフレーム数を表す。 | + | : **UInt32** |
+ | : IOバッファのフレーム数を表す。 | ||
? kAudioDevicePropertyBufferFrameSizeRange | ? kAudioDevicePropertyBufferFrameSizeRange | ||
- | : [AudioValueRange] kAudioDevicePropertyBufferFrameSizeに関する最少~最大の包括的な値を表す。 | + | : **AudioValueRange** |
+ | : kAudioDevicePropertyBufferFrameSizeに関する最少~最大の包括的な値を表す。 | ||
? kAudioDevicePropertyUsesVariableBufferFrameSizes | ? kAudioDevicePropertyUsesVariableBufferFrameSizes | ||
- | : A UInt32 that, if implemented by a device, indicates that the sizes of the buffers passed to an IOProc will vary by a small amount. The value of this property will indicate the largest buffer that will be passed and kAudioDevicePropertyBufferFrameSize will indicate the smallest buffer that will get passed to the IOProc. The usage of this property is narrowed to only allow for devices whose buffer sizes vary by small amounts greater than kAudioDevicePropertyBufferFrameSize. It is not intended to be a license for devices to be able to send buffers however they please. Rather, it is intended to allow for hardware whose natural rhythms lead to this necessity. | + | : **UInt32** |
+ | : 装置によって実装されている場合、IOProcに渡されるバッファサイズが微少に変化する事を示す。本プロパティ値は渡される最大バッファサイズを表し、そして'' | ||
+ | | ||
? kAudioDevicePropertyStreams | ? kAudioDevicePropertyStreams | ||
- | : [AudioStreamID配列] AudioDeviceのAudioStreamを表す。このプロパティの通知を受け取った場合、そのデバイスの取得済みAudioStreamIDは全て無効となり、再取得が必要な点に留意されたし。 | + | : **AudioStreamID配列** |
+ | : AudioDeviceのAudioStreamを表す。このプロパティの通知を受け取った場合、そのデバイスの取得済みAudioStreamIDは全て無効となり、再取得が必要な点に留意されたし。 | ||
? kAudioDevicePropertySafetyOffset | ? kAudioDevicePropertySafetyOffset | ||
- | : [UInt32] whose value indicates the number for frames in ahead (for output) or behind (for input the current hardware position that is safe to do IO. | + | : **UInt32** |
+ | : ハードウェアの現在の状態から安全にIO処理を行うために必要なフレーム数を示す。出力の場合は先行フレーム数、入力の場合は後続フレーム数となる。 | ||
? kAudioDevicePropertyIOCycleUsage | ? kAudioDevicePropertyIOCycleUsage | ||
- | : [Float32] A Float32 whose range is from 0 to 1. This value indicates how much of the client portion of the IO cycle the process will use. The client portion of the IO cycle is the portion of the cycle in which the device calls the IOProcs so this property does not the apply to the duration of the entire cycle. | + | : **Float32** |
+ | : A Float32 whose range is from 0 to 1. This value indicates how much of the client portion of the IO cycle the process will use. The client portion of the IO cycle is the portion of the cycle in which the device calls the IOProcs so this property does not the apply to the duration of the entire cycle. | ||
? kAudioDevicePropertyStreamConfiguration | ? kAudioDevicePropertyStreamConfiguration | ||
- | : This property returns the stream configuration of the device in an AudioBufferList (with the buffer pointers set to NULL) which describes the list of streams and the number of channels in each stream. This corresponds to what will be passed into the IOProc. | + | : **AudioBufferList** (バッファポインタはNULLに設定される) |
+ | : 装置のストリーム一覧と各ストリームのチャンネル数を示すストリーム構造を返す。これはIOProcに渡されるであろう構造と一致する。 | ||
? kAudioDevicePropertyIOProcStreamUsage | ? kAudioDevicePropertyIOProcStreamUsage | ||
- | : An AudioHardwareIOProcStreamUsage structure which details the stream usage of a given IO proc. If a stream is marked as not being used, the given IOProc will see a corresponding NULL buffer pointer in the AudioBufferList passed to it's IO proc. Note that the number of streams detailed in the AudioHardwareIOProcStreamUsage must include all the streams of that direction on the device. Also, when getting the value of the property, one must fill out the mIOProc field of the AudioHardwareIOProcStreamUsage with the address of the of the IOProc whose stream usage is to be retrieved. | + | : **AudioHardwareIOProcStreamUsage** |
+ | : structure which details the stream usage of a given IO proc. If a stream is marked as not being used, the given IOProc will see a corresponding NULL buffer pointer in the AudioBufferList passed to it's IO proc. Note that the number of streams detailed in the AudioHardwareIOProcStreamUsage must include all the streams of that direction on the device. Also, when getting the value of the property, one must fill out the mIOProc field of the AudioHardwareIOProcStreamUsage with the address of the of the IOProc whose stream usage is to be retrieved. | ||
? kAudioDevicePropertyPreferredChannelsForStereo | ? kAudioDevicePropertyPreferredChannelsForStereo | ||
- | : [UInt32の配列] デバイスのステレオIOと使用するチャンネル番号の関係を示す。第1要素が左チャンネルで、第2要素が右チャンネルである。このプロパティは入力と出力で異なる値を取ることができ、使用するチャンネル番号に制限はない。 | + | : **UInt32配列** |
+ | : デバイスのステレオIOと使用するチャンネル番号の関係を示す。第1要素が左チャンネルで、第2要素が右チャンネルである。このプロパティは入力と出力で異なる値を取ることができ、使用するチャンネル番号に制限はない。 | ||
? kAudioDevicePropertyPreferredChannelLayout | ? kAudioDevicePropertyPreferredChannelLayout | ||
- | : [AudioChannelLayout] AudioDeviceのチャンネルをそれぞれどのように使うべきかを表す。 | + | : **AudioChannelLayout** |
+ | : AudioDeviceのチャンネルをそれぞれどのように使うべきかを表す。 | ||
? kAudioDevicePropertyNominalSampleRate | ? kAudioDevicePropertyNominalSampleRate | ||
- | : [Float64] AudioDeviceの現在の公称サンプリングレート。 | + | : **Float64** |
+ | : AudioDeviceの現在の公称サンプリングレート。 | ||
? kAudioDevicePropertyAvailableNominalSampleRates | ? kAudioDevicePropertyAvailableNominalSampleRates | ||
- | : [AudioValueRangeの配列] AudioDeviceの公称サンプリングレートの有効な範囲。 | + | : **AudioValueRangeの配列** |
+ | : AudioDeviceの公称サンプリングレートの有効な範囲。 | ||
? kAudioDevicePropertyActualSampleRate | ? kAudioDevicePropertyActualSampleRate | ||
- | : [Float64] AudioDeviceのタイムスタンプによって計測された現在の実際のサンプリングレート。 | + | : **Float64** |
+ | : AudioDeviceのタイムスタンプによって計測された現在の実際のサンプリングレート。 | ||
- | ==== AudioDevice Properties Implemented via AudioControl | + | ==== AudioControlオブジェクトを通じて実装されるAudioDeviceプロパティ |
? kAudioDevicePropertyJackIsConnected | ? kAudioDevicePropertyJackIsConnected | ||
行 468: | 行 465: | ||
: 0.0が完全に左、1.0が完全に右、0.5が中央の定位。 AudioControlのサブクラスAudioStereoPanControlで実装されている。 | : 0.0が完全に左、1.0が完全に右、0.5が中央の定位。 AudioControlのサブクラスAudioStereoPanControlで実装されている。 | ||
? kAudioDevicePropertyStereoPanChannels | ? kAudioDevicePropertyStereoPanChannels | ||
- | : **UInt32配列** | + | : **UInt32[2]** |
: An array of two UInt32s that indicate which elements of the owning object the signal is being panned between. This property is implemented by an AudioControl object that is a subclass of AudioStereoPanControl. | : An array of two UInt32s that indicate which elements of the owning object the signal is being panned between. This property is implemented by an AudioControl object that is a subclass of AudioStereoPanControl. | ||
? kAudioDevicePropertyMute | ? kAudioDevicePropertyMute | ||
行 498: | 行 495: | ||
? kAudioDevicePropertyPlayThru | ? kAudioDevicePropertyPlayThru | ||
: **UInt32** | : **UInt32** | ||
- | : 0はスルー再生が無効、1は有効を表す。AudioControlのサブクラスAudioMuteControlで実装されている。Further, the control that implements this property is only available through kAudioDevicePropertyScopePlayThrough. | + | : 0はスルー再生が無効、1は有効を表す。AudioControlのサブクラスAudioMuteControlで実装されている。さらにまた、本プロパティを実装するコントロールは、'' |
? kAudioDevicePropertyPlayThruSolo | ? kAudioDevicePropertyPlayThruSolo | ||
- | : A UInt32 where a value of 1 means that just that play through element is audible and the other elements are inaudible. The property is implemented by an AudioControl object that is a subclass of AudioSoloControl. Further, the control that implements this property is only available through kAudioDevicePropertyScopePlayThrough. | + | : **UInt32** |
+ | : | ||
? kAudioDevicePropertyPlayThruVolumeScalar | ? kAudioDevicePropertyPlayThruVolumeScalar | ||
- | : A Float32 | + | : **Float32** |
+ | : 音量制御の値を示す。範囲は0.0以上1.0以下である。本プロパティは'' | ||
? kAudioDevicePropertyPlayThruVolumeDecibels | ? kAudioDevicePropertyPlayThruVolumeDecibels | ||
- | : A Float32 | + | : **Float32** |
+ | : 音量制御の値をデシベルで示す。 本プロパティは'' | ||
? kAudioDevicePropertyPlayThruVolumeRangeDecibels | ? kAudioDevicePropertyPlayThruVolumeRangeDecibels | ||
- | : An AudioValueRange | + | : **AudioValueRange** |
+ | : コントロールが取りうるデシベル値の最小・最大を含む。 本プロパティは'' | ||
? kAudioDevicePropertyPlayThruVolumeScalarToDecibels | ? kAudioDevicePropertyPlayThruVolumeScalarToDecibels | ||
: A Float32 that on input contains a scalar volume value for the and on exit contains the equivalent dB value. This property is implemented by an AudioControl object that is a subclass of AudioVolumeControl. Further, the control that implements this property is only available through kAudioDevicePropertyScopePlayThrough. | : A Float32 that on input contains a scalar volume value for the and on exit contains the equivalent dB value. This property is implemented by an AudioControl object that is a subclass of AudioVolumeControl. Further, the control that implements this property is only available through kAudioDevicePropertyScopePlayThrough. | ||
行 537: | 行 538: | ||
: An AudioValueRange that contains the minimum and maximum dB values the control can have. This property is implemented by an AudioControl object that is a subclass of AudioLFEVolumeControl. | : An AudioValueRange that contains the minimum and maximum dB values the control can have. This property is implemented by an AudioControl object that is a subclass of AudioLFEVolumeControl. | ||
? kAudioDevicePropertySubVolumeScalarToDecibels | ? kAudioDevicePropertySubVolumeScalarToDecibels | ||
- | : A Float32 | + | : **Float32** |
+ | : スカラー音量値を入力すると、等価なデシベル値を出力する。本プロパティは'' | ||
? kAudioDevicePropertySubVolumeDecibelsToScalar | ? kAudioDevicePropertySubVolumeDecibelsToScalar | ||
- | : A Float32 | + | : **Float32** |
+ | : デシベル音量値を入力すると、等価なスカラー値を出力する。本プロパティは'' | ||
? kAudioDevicePropertySubMute | ? kAudioDevicePropertySubMute | ||
: **UInt32** | : **UInt32** | ||
行 545: | 行 548: | ||
| | ||
| | ||
- | ==== AudioStream | + | ==== AudioStreamプロパティ==== |
? kAudioStreamPropertyDirection | ? kAudioStreamPropertyDirection | ||
行 552: | 行 555: | ||
? kAudioStreamPropertyTerminalType | ? kAudioStreamPropertyTerminalType | ||
: **UInt32** | : **UInt32** | ||
- | : whose value describes the general kind of functionality attached to the AudioStream. | + | : '' |
? kAudioStreamPropertyStartingChannel | ? kAudioStreamPropertyStartingChannel | ||
: **UInt32** | : **UInt32** | ||
- | : that specifies the first element in the owning device that corresponds to element one of this stream. | + | : このストリームの1つのエレメントと一致する、親デバイス内の最初のエレメントを特定する。 |
? kAudioStreamPropertyLatency | ? kAudioStreamPropertyLatency | ||
- | : A UInt32 | + | : **UInt32** |
+ | : '' | ||
? kAudioStreamPropertyVirtualFormat | ? kAudioStreamPropertyVirtualFormat | ||
: **AudioStreamBasicDescription** | : **AudioStreamBasicDescription** | ||
行 573: | 行 577: | ||
=== Discussion === | === Discussion === | ||
- | AudioStream | + | '' |
+ | それらはマスターエレメントと、チャンネル毎にストリーム内で1から番号付けされるエレメントを持つ。 | ||
+ | '' | ||
+ | その結果として、'' | ||
+ | このようなプロパティには同じ定数が使用される。 |