2012-03-11 4 views
0

[편집 : iOS 시뮬레이터의 확인 된 버그입니다. 5.0에 등장하고 5.1에 남아 있습니다. 내 자신의 대답은 아래 링크 참조].(편집 : iOS 시뮬레이터 5.x 버그) iOS에서 사운드 재생을 위해 AudioQueue를 사용할 때 EXC_BAD_ACCESS

나는 사람들입니다. 이것이 나의 첫 번째 질문이다. 나는 정말로 잃어버린 ...

iOS에서 소리를 재생하기 위해 AudioQueue를 사용하는 데 몇 가지 문제가 있습니다. AudioQueueNewOutput을 사용하여 AudioQueue를 만들면 EXC_BAD_ACCESS가 발생합니다. 일부 오디오 스레드에서 발생하는 것으로 보입니다 (Xcode는 스레드 4를 보여줍니다).

AudioQueue는 다음과 같이 생성됩니다 :

AudioQueueNewOutput(&desc, audioQueueCallback, this, CFRunLoopGetCurrent(), 
kCFRunLoopDefaultMode, 0, &audioQueue); 

(내림차순은 아이폰 OS 표준 재생 포맷을 포함). 이 에디터 보여줍니다 무엇

:

AudioToolbox`PowerMeter::PowerMeter(): 
0x16ee92: pushl %ebp 
0x16ee93: movl %esp, %ebp 
0x16ee95: movl 8(%ebp), %eax 
0x16ee98: movb $0, (%eax) 
0x16ee9b: movl $0, 8(%eax) 
0x16eea2: movl $0, 4(%eax) 
0x16eea9: movl $1064866676, 24(%eax) 
0x16eeb0: movl $3161095930, 20(%eax) 
0x16eeb7: movl $1066426957, 40(%eax) 
0x16eebe: movl $3539053052, 36(%eax) 
0x16eec5: movl $0, 92(%eax) 
0x16eecc: movl $0, 88(%eax) 
0x16eed3: movl $0, 108(%eax) 
0x16eeda: movl $0, 104(%eax) 
0x16eee1: movl $0, 100(%eax) 
0x16eee8: movl $0, 96(%eax) 
0x16eeef: pxor %xmm0, %xmm0 
0x16eef3: movaps %xmm0, 64(%eax) 
0x16eef7: movl $0, 60(%eax) 
0x16eefe: movl $0, 56(%eax) 
0x16ef05: movb $0, 52(%eax) 
0x16ef09: movb $0, 53(%eax) 
0x16ef0d: movl $0, 48(%eax) 
0x16ef14: movl $0, 80(%eax) 
0x16ef1b: movl $4294967295, 44(%eax) 
0x16ef22: movl $0, 84(%eax) 
0x16ef29: popl %ebp 
0x16ef2a: ret  
0x16ef2b: nop  
0x16ef2c: nop  
0x16ef2d: nop  
0x16ef2e: nop  
0x16ef2f: nop 

엑스 코드 4.3.1

iOS 시뮬레이터 5.1

맥 OS X 라이온 10.7.3

은 정말 당신의 도움을 주셔서 감사합니다. 의견이 있으십니까?

답변

1

기기에서 앱을 실행하는 데 문제가 없습니다. 그래서 연구를 계속했고 실제로 시뮬레이터 버그입니다. 더 많은 정보는 여기 : What does this gdb output mean?