iOS   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了崩溃 – MPMusicPlayerController:当iPod App在后台终止时,iPod停止发送通知大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用iPod播放器控制器的音乐播放器属性.
// .h
@property (nonatomic,retain) MPMusicPlayerController *ipodPlayer;

// .m
ipodPlayer = [MPMusicPlayerController iPodMusicPlayer];

NsnotificationCenter *notificationCenter = [NsnotificationCenter defaultCenter];

[notificationCenter addObserver:self SELEctor:@SELEctor(changedPlayBACkState:) name:MPMusicPlayerControllerPlayBACkStateDidChangeNotification object:ipodPlayer];
[notificationCenter addObserver:self SELEctor:@SELEctor(changedNowPlayingItem:) name:MPMusicPlayerControllerNowPlayingItemDidChangeNotification object:ipodPlayer];

[ipodPlayer beginGeneratingPlayBACkNotifications];

后台处理中,如果iPod播放器应用程序被终止,控制台将打印出来:

@H_55_2@mediaPlayer: message playBACkState timed out.

如果没有崩溃(或冻结,降低性能),则通知不再发送到我的观察方法.我仍然可以发送消息:

[ipodPlayer pause];
[ipodPlayer play];
[ipodPlayer skipToNextItem];
[ipodPlayer skiPTOPrevIoUsItem];

但不能收到任何通知

我的问题是:

>有没有办法重新分配,在运行时重新加载指针?如何恢复属性就像首次启动时一样?
>我如何抓住这个消息:“MediaPlayer:消息回放状态超时.”在控制台输出?这不像使用NSLog.

感谢你们对我的帮助.

更新:
似乎使用assign或weak的ipodPlayer属性解决方案.此外,访问它是通过假设属性可能不在那里完成.经过多次试用和一年的实际使用,在我的应用程序,我认为这是正确的解决方案.

解决方法

我在iOS 5中与我的MpMoviePlayerController有类似的问题.我找到了一个照顾它的修复程序.它也可能在这里工作.

加:

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

在viewDidLoad.

更多我的其他post

大佬总结

以上是大佬教程为你收集整理的崩溃 – MPMusicPlayerController:当iPod App在后台终止时,iPod停止发送通知全部内容,希望文章能够帮你解决崩溃 – MPMusicPlayerController:当iPod App在后台终止时,iPod停止发送通知所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。