iPhone用に開発中で、audioQueuesを同期させるための初期タイムスタンプを取得しようとしています。AudioQueuesを使用して有効なmHostTimeを取得する方法
私はこれにAudioQueueDeviceGetCurrentTime
を使用しています。ドキュメントによると、この関数は、有効なmHostTime を返します。キュー/デバイスが実行中であるかどうかはです。しかし、私はこれを試すと私はkAudioHardwareNotRunningError
(1937010544)を返す。すべてのキューにはtimeLineが関連付けられており、関数を呼び出す前に初期化されています。
(キューを実行する前に)AudioQueuesを同期する有効なmHostTimeを取得する方法を教えてください。
マイコード:
AudioSessionInitialize(NULL, NULL, interruptionListenerCallback, self);
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
sizeof(sessionCategory), &sessionCategory);
// initialize all queues
// ....
AudioSessionSetActive(true);
OSStatus result;
AudioTimestamp currentTime;
result = AudioQueueDeviceGetCurrentTime(audioQueueRef, ¤tTimeStamp);
if (!result)
{
// rest of code
}
私は、ホストタイム機能と変換に関するこの質問への返答について非常に詳細な回答を書いています。 http://stackoverflow.com/questions/675626?tab=newest#tab-top – Mecki