私はAUSampler & AURemoteIOユニットを使用してユーザー定義ノートを再生する音楽制作アプリを持っています。私はいくつかの使用の後で、サンプラー上のAudioUnitRenderへの呼び出しが決して戻ってこない、オーディオスレッドをぶら下げ、オーディオ出力を消音するという問題を抱えています。オーディオスレッドが継続デバイスコンソール(ないデバッガ出力)にエラーメッセージを吐き出すようにCPU使用率がまた、この時点でアップ撮影:このメッセージはAUSampler内部_os_log_impl
によって記録されているAudioUnitRender on AUSampler
May 11 11:45:12 <device name> mediaserverd(CoreAudio)[2296] <Notice>: HALS_IOContext.cpp:1496:IOWorkLoop_HandleOverload: HALS_IOContext::IOWorkLoop_HandleOverload: Overload on context 96 current time: 11788974 deadline: 11788958
レンダリング(具体的にはVoiceEnvelope::GetRunFrameCount
)。
誰にこのようなことが起こるのか、それを避ける方法についての提案はありますか?
audiounrenderをremoteioの入力コールバックから呼び出していますか?もしそうなら、多分あなたはコードのいくつかを示すことができます。また、コールバックを使用したり、手動でaudiounrenderを呼び出す必要がない場合は、audiounit接続を作成するだけで十分です。 – dave234
これは、remoteIOオーディオユニットのレンダリングコールバックから呼び出されています。私は[The Amazing Audio Engine 2](https://git.io/v9yQx)というライブラリを使用していますが、実際のコールバックの設定とレンダリングを処理していますが、 'AudioUnitRender'の呼び出しは[行163]にありますhttps://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine2/blob/master/TheAmazingAudioEngine/Modules/AudioUnitModule.m#L163) – Jayson