作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为iPhone开发,并尝试获取初始timeStamp以同步我的audioQueue。
我为此使用AudioQueueDeviceGetCurrentTime
。根据文档,此函数会返回有效的mHostTime ,无论队列/设备是否正在运行。但是,当我尝试这个时,我会得到一个kAudioHardwareNotRunningError
(1937010544)。所有队列都关联有一个timeLine,并且在调用该函数之前已初始化。
如何检索有效的mHostTime来同步我的AudioQueues(在运行队列之前)?
我的代码:
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
}
最佳答案
经过一番谷歌搜索后,我在CoreAudio邮件列表上发现了一个帖子,他们说hostTime与mach_absolute_time()
相同。Mach_absolute_time()
确实为我提供了预期的时间戳值。
关于iphone - 如何使用AudioQueues检索有效的mHostTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/707377/
我是一名优秀的程序员,十分优秀!