// .h@property (nonatomic,retain) MPMusicPlayerController *ipodplayer;// .mipodplayer = [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播放器应用程序被终止,控制台将打印出来:
MediaPlayer: Message playbackState timed out.
如果没有崩溃(或冻结,降低性能),则通知不再发送到我的观察方法.我仍然可以发送消息:
[ipodplayer pause];[ipodplayer play];[ipodplayer skipToNextItem];[ipodplayer skiptoprevIoUsItem];
但不能收到任何通知
我的问题是:
>有没有办法重新分配,在运行时重新加载指针?如何恢复属性就像首次启动时一样?
>我如何抓住这个消息:“MediaPlayer:消息回放状态超时.”在控制台输出?这不像使用NSLog.
感谢你们对我的帮助.
更新:
似乎使用assign或weak的ipodplayer属性是解决方案.此外,访问它是通过假设属性可能不在那里完成.经过多次试用和一年的实际使用,在我的应用程序,我认为这是正确的解决方案.
加:
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
在vIEwDIDLoad.
更多我的其他post
总结以上是内存溢出为你收集整理的崩溃 – MPMusicPlayerController:当iPod App在后台终止时,iPod停止发送通知全部内容,希望文章能够帮你解决崩溃 – MPMusicPlayerController:当iPod App在后台终止时,iPod停止发送通知所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)