我需要从网站上播放iPhone中的音频文件(.wav)。我正在使用MPMoviePlayerViewController来播放音频播放器。有时候应用程序会崩溃。
我的代码:
NSURL * videoURL = [NSURL URLWithString:appDelegate.selectedQuestion.GraphicsUrl];
videoPlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL];
[[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0];
MPMoviePlayerController *moviePlayer = [videoPlayer moviePlayer];
[moviePlayer setScalingMode:MPMovieScalingModeAspectFit];
[videoPlayer.view setFrame: videoView.bounds];
[moviePlayer.view setFrame:videoPlayer.view.bounds];
[moviePlayer.backgroundView setFrame:videoPlayer.view.bounds];
[videoView addSubview:videoPlayer.view];
[moviePlayer setShouldAutoplay:NO];
[moviePlayer setFullscreen:YES];
[moviePlayer setFullscreen:NO];
[moviePlayer setCurrentPlaybackTime:(NSTimeInterval)1];
[moviePlayer setInitialPlaybackTime:(NSTimeInterval)1];
[moviePlayer setControlStyle:MPMovieControlStyleDefault];
[moviePlayer setCurrentPlaybackTime:(NSTimeInterval)-1];
例外:
mediaserverd (sandbox)
Dec 29 23:48:43 unknown mediaserverd[3132] <Error>: 23:48:43.312834 com.apple.AVConference: /SourceCache/GameKitServices/GameKitServices-344.3/AVConference.subproj/Sources/AVConferenceServer.m:1867: AVConferenceServerStart
Dec 29 23:48:43 unknown SMILE[2823] <Warning>: _serverConnectionDiedNotification. Info -- notification=Error Domain=AVFoundationErrorDomain Code=-11819 "Cannot Complete Action" UserInfo=0x7f7c660 {NSLocalizedRecoverySuggestion=Try again later., NSLocalizedDescription=Cannot Complete Action}, AVPlayer = <MPQueuePlayer: 0xac97410>, currentTime = 8.78
Dec 29 23:48:43 unknown SMILE[2823] <Error>: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'An AVPlayerItem cannot be associated with more than one instance of AVPlayer'
答案 0 :(得分:0)
我之前遇到了同样的崩溃,我通过删除所有MPMoviePlayerController通知来修复它,并且还释放了MPMoviePlayerController本身(注意,两者都应该完成,否则崩溃仍然会发生!)一旦回放状态转到MPMoviePlaybackStateStopped 。我仍然不知道确切的原因,只有我知道的是,如果玩家连续进入MPMoviePlaybackStateStopped状态,它将崩溃,所以我只是阻止它停止两次。
希望这会有所帮助。