기록 대기열에 대한 내 AudioInputCallback
기능에서 기록 된 버퍼 시간을 초과하려고합니다. 불행히도 내가 보는 타임 스탬프는 예상대로 아닙니다. 여기서 (AudioTimeStamp.mHostTime
사용)의 예이다 :오디오 대기열 : 기록 된 버퍼의 타임 스탬프
2010-01-21 14:03:35.252 [61694:207] 1288747268011206 1288747396166138 -128154932
2010-01-21 14:03:35.344 [61694:207] 1288747360891024 1288747396166138 -35275114
2010-01-21 14:03:35.437 [61694:207] 1288747453770843 1288747396166138 57604705
2010-01-21 14:03:35.530 [61694:207] 1288747546652078 1288747396166138 150485940
첫번째 타임 스탬프 버퍼 시간이며, 두 번째 (버튼, I는 AudioQueueDeviceGetCurrentTime
사용하고 압착되는 시간) 및 제 둘 사이의 델타 인 기준 시간이다. 예상대로, 버퍼는 약간 "실시간"지연되고 몇 개의 버퍼 콜백이 실행 된 후에 따라 잡습니다. 폐쇄하고이 큐를 다시 열 때
지금, 이야기는 많이 다릅니다
2010-01-21 14:03:46.769 [61694:207] 1288755719477798 1288758853485434 -3134007636
2010-01-21 14:03:46.862 [61694:207] 1288755812365464 1288758853485434 -3041119970
2010-01-21 14:03:46.955 [61694:207] 1288755905305200 1288758853485434 -2948180234
당신이 볼 수 있듯이, 타임 스탬프 (? NS 내가 생각)이 두 번째의 주위에 방법이 다릅니다. 그들은 몇 초 동안 실시간을 따라 잡지 못합니다. 이 동작은 전혀 재현 할 수 없습니다 - 타임 스탬프가 때로는 때로는 올바르지 않습니다. 그러나 처음으로 대기열을 열 때 항상 잘못되었습니다.