MPAVController pauseWithFadeout导致应用程序崩溃

时间:2013-10-21 22:10:20

标签: ios ios7 uitableview mpmovieplayercontroller mpavcontroller

我有一个应用程序,其中我有一些视频的链接,当用户请求我下载视频文件。下载的视频文件列在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:被调用,因为当我甚至没有播放视频时遇到了这个。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我在我的案例中发现了这个问题。我正在使用thumbnailImageAtTime:timeOption:似乎在后台播放/暂停视频(这只是我的猜想),以获取缩略图。尽管我没有明确地播放任何视频并导致更多问题,但导致itemPlaybackDidEndNotification开火。

如果其他人使用相同的方法获取缩略图,现在有几种选择。这里提到了这些方法。 thumbnailImageAtTime: now deprecated - What's the alternative?