2012-01-27 25 views
6

MPMoviePlayerController phát thành công airPlay khi tôi đi đến màn hình chính và ứng dụng đang ở chế độ nền. Nhưng khi tôi nhấn đúp vào nút trang chủ, ứng dụng gặp sự cố. Điều này xảy ra trên iOS 5, nhưng không phải là trên 4.3.MPMoviePlayerController chơi airPlay trong nền, tai nạn khi nhấn đúp nút home

Để loại trừ mã khác, tôi đã tạo một dự án trống mới chỉ thực thi mã dưới đây khi nhấn nút.

moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8"]]; 

NSError *setCategoryError = nil; 
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError]; 

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(moviePlaybackComplete:) 
              name:MPMoviePlayerPlaybackDidFinishNotification 
              object:moviePlayerController]; 

[moviePlayerController setMovieSourceType:MPMovieSourceTypeStreaming]; 
[self addObservers]; 
[self.delegate addSubview:moviePlayerController.view]; 
if([moviePlayerController respondsToSelector:@selector(setAllowsAirPlay:)]) 
{ 
    [moviePlayerController setAllowsAirPlay:YES]; 
} 

moviePlayerController.fullscreen = YES; 

moviePlayerController.scalingMode = MPMovieScalingModeAspectFit; 
[moviePlayerController prepareToPlay]; 
[moviePlayerController play]; 

Trong giao diện điều khiển i nhận được đầu ra sau trên sụp đổ:

Jan 27 12:08:01 unknown mediaserverd[295] <Error>: <<<<FIGSERVER>>>> FigPlayerRemoteServer_KillAndForceCrashReport: RPCTimeout message received to terminate [295] with reason 'fig rpc timeout -- FigSharedRemote_VolumeCategoryForAudioCategory' 
Jan 27 12:08:01 unknown ReportCrash[308] <Notice>: MS:Notice: Installing: (null) [ReportCrash] (675.00) 
Jan 27 12:08:01 unknown ReportCrash[308] <Error>: Saved crashreport to /Library/Logs/CrashReporter/mediaserverd-2012-01-27-120801.plist using uid: 0 gid: 0, synthetic_euid: 0 egid: 0 
Jan 27 12:08:01 unknown mediaserverd[295] <Error>: <<<<FIGSERVER>>>> FigPlayerRemoteServer_KillAndForceCrashReport: RPCTimeout message received; stackshot generated 
Jan 27 12:08:01 unknown mediaserverd[295] <Error>: <<<<FIGSERVER>>>> FigPlayerRemoteServer_KillAndForceCrashReport: TERMINATING our process [295] 
Jan 27 12:08:02 unknown com.apple.launchd[1] <Notice>: (com.apple.mediaserverd) Exited: Killed: 9 
Jan 27 12:08:02 unknown mediaserverd[310] <Notice>: MS:Notice: Installing: com.apple.mediaserverd [mediaserverd] (675.00) 
Jan 27 12:08:02 unknown kernel[0] <Debug>: Sandbox: ignoring builtin profile for platform app: /usr/sbin/mediaserverd 
Jan 27 12:08:02 unknown kernel[0] <Debug>: Sandbox: ignoring builtin profile for platform app: /usr/sbin/mediaserverd 
Jan 27 12:08:03 unknown mediaserverd[310] <Error>: 12:08:03.383370 com.apple.AVConference: /SourceCache/GameKitServices/GameKitServices-344.3/AVConference.subproj/Sources/AVConferenceServer.m:1862: AVConferenceServerStart aborting - device doesn't support conferencing 

và trong crashreport:

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x00000000, 0x00000000 
Crashed Thread: 0 

Last Exception Backtrace: 
0 CoreFoundation     0x33bab8bf 0x33af2000 + 759999 
1 libobjc.A.dylib     0x31bcd1e5 0x31bc4000 + 37349 
2 AVFoundation     0x374f6cb5 -[AVPlayerItem _attachToPlayer:forImmediateEnqueueing:shouldAppendItem:] + 341 
3 AVFoundation     0x374e71f7 -[AVPlayer _insertPlaybackItemOfItem:inPlayerQueueAfterPlaybackItemOfItem:] + 43 
4 AVFoundation     0x374eebf3 __-[AVPlayer _attachItem:andPerformOperation:withObject:]_block_invoke_2 + 1099 
5 libdispatch.dylib    0x3641cd55 0x3641c000 + 3413 
6 libdispatch.dylib    0x36427e8d 0x3641c000 + 48781 
7 CoreFoundation     0x33b7e2dd 0x33af2000 + 574173 
8 CoreFoundation     0x33b014dd 0x33af2000 + 62685 
9 CoreFoundation     0x33b013a5 0x33af2000 + 62373 
10 GraphicsServices    0x31f56fcd 0x31f53000 + 16333 
11 UIKit       0x36d57743 0x36d26000 + 202563 
12 AirplayTest      0x00002e45 main (main.m:16) 
13 AirplayTest      0x00002dd4 start + 40 

Bất kỳ manh mối những gì có thể xảy ra?

+0

Tôi gặp vấn đề tương tự. Nó không xảy ra mọi lúc, thường là nếu tôi khởi chạy các ứng dụng khác trong thời gian chờ đợi. Tôi cho rằng nguyên nhân là do chế độ xem của chế độ xem của chế độ xem của MPMoviePlayerController bị tải không chính xác khi thiết bị cần thêm tài nguyên – reddersky

+0

Bạn có bất kỳ mã nào đang chạy khi nhập vào nền không? – Bot

+0

Cũng có sự cố này, bạn đã sửa nó chưa? –

Trả lời

0

Điều này có vẻ là một lỗi trong bản phát hành iOS 5.0. Với việc phát hành iOS 5.1, nó dường như đã được sửa.

Nhờ @Cyril để xác nhận điều này.

0

Bạn đã thử đặt thuộc tính useApplicationAudioSession của trình điều khiển trình phát phim thành NO (tức là mô phỏng hành vi mặc định iOS 3.1) chỉ dành cho iOS 5? Dường như có một số lỗi xung quanh việc xử lý phiên âm thanh trong iOS 5 có thể khiến máy chủ âm thanh chết khi bạn chuyển đổi giữa các ứng dụng, xử lý gián đoạn, v.v.

Nếu điều này khắc phục, hãy gửi báo cáo lỗi cho Apple, nó là một hack hơn là sửa chữa!

Các vấn đề liên quan