これは、前の質問へのフォローアップである:私はおそらくinNumberFramesか入力コールバックのIOバッファ時間を兼ね備えを設定するためのAudioUnitのAPIがどうなるかを把握しようとしています OSX CoreAudio: Getting inNumberFrames in advance - on initialization?OSX:IOバッファ長を設定するCoreAudio API?
単一の場合HALオーディオコンポーネントインスタンスOSX(プラグインではありません!) iOSでこれをどのように達成できるかについての包括的なドキュメントがあることを理解していますが、APIのどちらでもOSXでこれらの値を設定するためのドキュメントを見つけたり見つけたりすることはできません。 ウェブには、「」から「サンプルレートと優先バッファ時間を要求するオーディオユニットAPIがあります...」から「」の範囲の妥当な文章が含まれていますが、確かにフレーム数は取得できますが、現在のコールバックコールの場合にのみ... "。
少なくともOSXでの入力・選択されたサンプリング・レートのために、システムによってinNumberFramesまたはオーディオバッファ長 offerdを取得(およびへの適応)の方法はありますか?例えば、44.1kとその倍数(これは部分的にうまくいくようです)、48kとその倍数(これはまったく動作しないようですが、バッファを適応させるためのハックはどこにありますか分かりませんこれらの値にlenfth)?ここでは、コンソールのプリントアウトです:
Available 7 Sample Rates
Available Sample Rate value : 8000.000000
Available Sample Rate value : 16000.000000
Available Sample Rate value : 32000.000000
Available Sample Rate value : 44100.000000
Available Sample Rate value : 48000.000000
Available Sample Rate value : 88200.000000
Available Sample Rate value : 96000.000000
.mSampleRate = 48000.00
.mFormatID = 1819304813
.mBytesPerPacket = 8
.mFramesPerPacket = 1
.mBytesPerFrame = 8
.mChannelsPerFrame = 2
.mBitsPerChannel = 32
.mFormatFlags = 9
_mFormatHumanReadable = kAudioFormatFlagIsFloat
kAudioFormatFlagIsPacked
kLinearPCMFormatFlagIsFloat
kLinearPCMFormatFlagIsPacked
kLinearPCMFormatFlagsSampleFractionShift
kAppleLosslessFormatFlag_16BitSourceData
kAppleLosslessFormatFlag_24BitSourceData
expectedInNumberFrames = 512
Couldn't render in current context (Error -10863)
期待inNumberFramesがシステムから読み込まれる:
UInt32 expectedInNumberFrames = 0;
UInt32 propSize = sizeof(UInt32);
AudioUnitGetProperty(gInputUnitComponentInstance,
kAudioDevicePropertyBufferFrameSize,
kAudioUnitScope_Global,
0,
&expectedInNumberFrames,
&propSize);
おかげで、事前に正しい方向に私を指しているために!
ありがとう、@ hotpaw2私は前にこのリンクを見たことがありますが、この** TN **の内容に細心の注意を払う代わりに、難しいタイトル "**オーディオI/O中の電力節約 - kAudioHardwarePropertyPowerHintプロパティ**"私にそれを指摘してくれてありがとう。この** TN **に準拠してコードを書き直すと、いくつかの外部ハイエンドハードウェアデバイスに関する他の質問が出てくることは確かです。私はこの問題に対する「私の解決策を見つけるのに最も役立つ」という答えを受け入れます。 – user3078414