0

[編集: これは確認済みの iOS シミュレーターのバグです。5.0 で登場し、5.1 のままです。私自身の回答の下のリンクを参照してください]。

私たち。これは私の最初の質問です。私は本当に迷っています...

iOS で AudioQueue を使用してサウンドを再生する際に問題が発生します。AudioQueueNewOutput を使用して AudioQueue を作成すると、EXC_BAD_ACCESS が発生します。一部のオーディオ スレッドで発生するようです (Xcode ではスレッド 4 が表示されます)。

AudioQueue は次のように作成されます。

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

(dess には、iOS の標準的な再生形式が含まれています)。

これはエディタが示すものです:

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

Xcode 4.3.1

iOS シミュレーター 5.1

Mac OS X ライオン 10.7.3

本当にありがとうございました。何かご意見は?

4

1 に答える 1

1

デバイスでアプリを実行してもこの問題は発生しません。だから私は調査を続けましたが、実際にはシミュレーターのバグです。詳細はこちら:この gdb 出力はどういう意味ですか?

于 2012-03-11T16:58:20.353 に答える