5 objective-c playback mpmovieplayercontroller ios
我有一个具有以下设置的应用程序:
URMoviePlayerViewController扩展了MPMoviePlayerViewController
实现了remoteControlReceivedWithEvent:(UIEvent*)事件的方法,以及:
(void)viewDidLoad
{
[super viewDidLoad];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
}
(BOOL) canBecomeFirstResponder
{
return YES;
}
Run Code Online (Sandbox Code Playgroud)URPlayerViewController将URMoviePlayerViewController作为属性
@property (nonatomic, strong) URMoviePlayerViewController *player;
Run Code Online (Sandbox Code Playgroud)
当播放播放音频片段的电话时,播放器被初始化; 如果它已经初始化,它不会重新初始化播放器
URPlayerViewController有一个视图,它是一个自定义播放器,具有播放/暂停,下一个/上一个控件,它们被初始化并添加到viewDidLoad方法的子视图中
URAppDelegate将URPlayerViewController作为属性
@property (nonatomic, strong) URPlayerViewController *playerViewController;
Run Code Online (Sandbox Code Playgroud)
playerViewController在应用程序didFinishLaunchingWithOptions中初始化
playerViewController的视图被添加到窗口中 - 这样自定义播放器在整个应用程序中都可见
问题:
一切都很顺利.在锁定屏幕上不时地播放控件(播放/暂停/下一个/上一个)停止工作.remoteControlReceivedWithEvent永远不会被调用.我一直无法重现这一点.
关于在回放期间调试此问题的任何建议或想法都会很棒,因为我无法一致地重现此问题.谢谢!
我认为您缺少以下方法,只需将其添加到现有代码中并接受答案(如果可行):
从 viewdidload 中删除 beginReceivingRemoteControlEvents 并将其放入 viewdidAppear 中:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud)
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
[self resignFirstResponder];
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
912 次 |
| 最近记录: |