美文网首页
远程控制事件

远程控制事件

作者: FallPine | 来源:发表于2016-11-16 16:26 被阅读36次

在iOS中和远程控制事件有关的只有一个- (void)remoteControlReceivedWithEvent:(UIEvent *)event NS_AVAILABLE_IOS(4_0);事件。要监听到这个事件有三个前提(视图控制器UIViewController或应用程序UIApplication只有两个)

  • 启用远程事件接收(使用[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];方法)。

  • 对于UI控件同样要求必须是第一响应者(对于视图控制器UIViewController或者应用程序UIApplication对象监听无此要求)。

  • 应用程序必须是当前音频的控制者,也就是在中通知栏中当前音频播放程序必须是我们自己开发程序。

  • 运动事件中我们也有一个枚举类型UIEventSubtype,而且我们可以利用它来判断是否是运动事件,在该枚举中还包含了我们运程控制的子事件类型,我们先来熟悉一下这个枚举(从远程控制子事件类型也不难发现它和音频播放有密切关系):
typedef NS_ENUM(NSInteger, UIEventSubtype) {
    // 不包含任何子事件类型
    UIEventSubtypeNone                              = 0,
    
    // 摇晃事件(从iOS3.0开始支持此事件)
    UIEventSubtypeMotionShake                       = 1,
    
    //远程控制子事件类型(从iOS4.0开始支持远程控制事件)
    //播放事件【操作:停止状态下,按耳机线控中间按钮一下】
    UIEventSubtypeRemoteControlPlay                 = 100,
    //暂停事件
    UIEventSubtypeRemoteControlPause                = 101,
    //停止事件
    UIEventSubtypeRemoteControlStop                 = 102,
    //播放或暂停切换【操作:播放或暂停状态下,按耳机线控中间按钮一下】
    UIEventSubtypeRemoteControlTogglePlayPause      = 103,
    //下一曲【操作:按耳机线控中间按钮两下】
    UIEventSubtypeRemoteControlNextTrack            = 104,
    //上一曲【操作:按耳机线控中间按钮三下】
    UIEventSubtypeRemoteControlPreviousTrack        = 105,
    //快退开始【操作:按耳机线控中间按钮三下不要松开】
    UIEventSubtypeRemoteControlBeginSeekingBackward = 106,
    //快退停止【操作:按耳机线控中间按钮三下到了快退的位置松开】
    UIEventSubtypeRemoteControlEndSeekingBackward   = 107,
    //快进开始【操作:按耳机线控中间按钮两下不要松开】
    UIEventSubtypeRemoteControlBeginSeekingForward  = 108,
    //快进停止【操作:按耳机线控中间按钮两下到了快进的位置松开】
    UIEventSubtypeRemoteControlEndSeekingForward    = 109,
};

原文在ios7的系统中说,远程控制职能控制音频,现在在ios10的系统中UIEventSubtype这个枚举类型没有变,所以,可能也只能控制音频,这点我没测试

这篇文章参考至:【Kenshin Cui's Blog】【iOS开发系列--触摸事件、手势识别、摇晃事件、耳机线控】

相关文章

  • 播放音频时,锁屏界面控制

    方法一, 播放控制界面不可订制: 接收远程事件 注: 1) 如果结束远程事件控制, 需调用:endReceivin...

  • iOS事件响应原理

    iOS中事件可以分: 触摸事件 加速计事件 远程控制事件

  • iOS小结

    上传图片 //后台播放音频设置 //让app支持接受远程控制事件 //设置app支持接受远程控制事件,其实就是在d...

  • 远程控制事件

    在iOS中和远程控制事件有关的只有一个- (void)remoteControlReceivedWithEvent...

  • iOS---事件传递和响应机制

    iOS 中的事件 触摸事件 加速计事件 远程控制事件 响应者对象(UIResponder) 只有继承 UIResp...

  • iOS获取耳机事件

    1、获取耳机插拔事件Key 2、耳机控制键 首先允许远程控制 实现

  • UITouch

    1:触摸事件 2:加速计事件 3:远程控制事件 UITouch UITouch的属性 UITouch的方法 UIE...

  • 事件层级原理 响应链

    iOS事件 运动事件,远程控制事件、触摸事件 触摸事件 事件传递的顺序 当点击红色的时候 打印为 事件传递的方法 ...

  • 事件传递和响应链

    事件分类 在iOS中,事件可以采取多种形式:多点触摸事件(touch),运动事件(motion),远程控制事件(r...

  • IOS基础知识-事件传递与响应链原理篇

    iOS中事件一共有四种类型,包含触摸事件,运动事件,远程控制事件,按压事件; UIEventUIEvent描述了单...

网友评论

      本文标题:远程控制事件

      本文链接:https://www.haomeiwen.com/subject/nserpttx.html