0

いくつかのビデオへのリンクを含むアプリケーションがあり、ユーザーから要求されたときにビデオ ファイルをダウンロードします。ダウンロードしたビデオ ファイルは、UITableView に一覧表示されます。次のようなクラッシュ ログで、アプリがときどきクラッシュします。

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x6000000c
Triggered by Thread:  0

Thread 0 Crashed:
0   libobjc.A.dylib                 0x3a03fb26 objc_msgSend + 6
1   MediaPlayer                     0x30ba3ff0 -[MPAVController _setState:] + 288
2   MediaPlayer                     0x30b97f1a -[MPAVController pauseWithFadeout:] + 198
3   MediaPlayer                     0x30b9cd22 -[MPAVController _itemPlaybackDidEndNotification:] + 786
4   CoreFoundation                  0x2f90011e __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 10
5   CoreFoundation                  0x2f874312 _CFXNotificationPost + 1714
6   AVFoundation                    0x2e780b6e __avplayeritem_fpItemNotificationCallback_block_invoke + 4094
7   libdispatch.dylib               0x3a527d78 _dispatch_call_block_and_release + 8
8   libdispatch.dylib               0x3a527d64 _dispatch_client_callout + 20
9   libdispatch.dylib               0x3a52e7bc _dispatch_main_queue_callback_4CF$VARIANT$mp + 264
10  CoreFoundation                  0x2f90881c __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 4
11  CoreFoundation                  0x2f9070f0 __CFRunLoopRun + 1296
12  CoreFoundation                  0x2f871ce2 CFRunLoopRunSpecific + 518
13  CoreFoundation                  0x2f871ac6 CFRunLoopRunInMode + 102
14  GraphicsServices                0x3455f27e GSEventRunModal + 134
15  UIKit                           0x32113a3c UIApplicationMain + 1132
16  MyApp                           0x000e5884 main (main.m:30)
17  libdyld.dylib                   0x3a54cab4 start + 0

問題は、私自身の方法がどれもログに失敗していないことです。すべての呼び出しはライブラリ メソッド呼び出しのようです。_itemPlaybackDidEndNotification:また、ビデオを再生していないときにこれに遭遇したので、なぜ呼び出されたのだろうか。誰か助けてくれませんか?

4

1 に答える 1

0

私の場合、問題が見つかりました。サムネイルを取得するために、バックグラウンドでビデオを再生/一時停止するように見えるものを使用してthumbnailImageAtTime:timeOption:いました(これは私の推測です)。これにより、itemPlaybackDidEndNotificationビデオを明示的に再生していないにもかかわらず、 が起動し、さらに問題が発生しました。

他の誰かがサムネイルを取得するために同じ方法を使用している場合、いくつかの代替手段があります。メソッドはここに記載されています。サムネイルImageAtTime: 現在は廃止されています - 代替手段は何ですか?

于 2013-10-25T22:38:13.330 に答える