【问题标题】:MPMoviePlayerViewController lock screen playback controls not workingMPMoviePlayerViewController 锁屏播放控件不起作用
【发布时间】:2012-11-03 10:28:00
【问题描述】:

我有一个具有以下设置的应用:

URMoviePlayerViewController 扩展了 MPMoviePlayerViewController

  • 实现了方法remoteControlReceivedWithEvent:(UIEvent *)event,以及:

    (void)viewDidLoad
    {
        [super viewDidLoad];    
        [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
        [self becomeFirstResponder];
    }
    
    (BOOL) canBecomeFirstResponder
    {
        return YES;
    }
    

URPlayerViewController 具有 URMoviePlayerViewController 作为属性

    @property (nonatomic, strong) URMoviePlayerViewController *player;
  • 播放器在调用播放音频剪辑时初始化;如果已经初始化,则不会重新初始化播放器

  • URPlayerViewController 有一个视图,它是一个自定义播放器,具有播放/暂停、下一个/上一个控件,这些控件在 viewDidLoad 方法中被初始化并添加到子视图中

URAppDelegate 具有 URPlayerViewController 作为属性

    @property (nonatomic, strong) URPlayerViewController *playerViewController;
  • playerViewController 在应用程序 didFinishLaunchingWithOptions 中初始化

  • playerViewController 的视图被添加到 window - 以便自定义播放器在整个应用程序中可见

问题:

通常一切都很好。时不时地在锁定屏幕上播放控件(播放/暂停/下一个/上一个)停止工作。 remoteControlReceivedWithEvent 永远不会被调用。我无法始终如一地重现这一点。

任何关于围绕播放调试此问题的建议或想法都会很棒,因为我无法始终如一地重现此问题。谢谢!

【问题讨论】:

    标签: ios objective-c mpmovieplayercontroller playback


    【解决方案1】:

    我认为您缺少以下方法,只需将其添加到现有代码中,如果可行,请接受答案:

    从 viewdidload 中移除 beginReceivingRemoteControlEvents 并放入 viewdidAppear:

    - (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    [self becomeFirstResponder];
    

    }

    - (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [[UIApplication sharedApplication] endReceivingRemoteControlEvents];
    [self resignFirstResponder];
    

    }

    【讨论】:

    • 我之前已经尝试过这个更改(但是我使用 viewDidDisappear 而不是 viewWillDisappear)。仍然没有运气。我仍然看到播放控件偶尔会停止工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    相关资源
    最近更新 更多