ios远程控制事件(蓝牙音箱)

作者: 无事在心头 | 来源:发表于2017-06-16 14:15 被阅读230次

最近公司在做一个关于外接蓝牙音箱的功能,上网搜索了相关资料,发现大都雷同,今天做个稍许总结:

1.利用远程控制事件- (void)remoteControlReceivedWithEvent:(UIEvent *)event方法

这个方法系统会自动调用,可以放在AppDelegate.m文件里,也可以放在相关控制器里,前提是需要设置

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents],接收远程事件,

接收完毕后结束接收[[UIApplication sharedApplication] endReceivingRemoteControlEvents];

接收到远程事件如播放,停止,会调用remoteControlReceivedWithEvent:方法,利用改方法里的event参数判断是什么类型的事件:

-(void)remoteControlReceivedWithEvent:(UIEvent *)event

    if (event.type == UIEventTypeRemoteControl) {

         if (event.subtype == UIEventSubtypeRemoteControlPlay) {

              //....做一些事情.如播放

             } else if(//...){

              // ...

             }

    }

}


2.利用MPRemoteCommandCenter类

该类也会在系统接收到远程事件后被调用,前提是要添加相关事件的监听,并且该类是一个单例,如:

MPRemoteCommandCenter *commandCenter = [MPRemoteCommandCenter sharedCommandCenter];

[commandCenter.pauseCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent * _Nonnull event) {

    NSLog(@"暂停事件");

    //暂停的相关事情

    return MPRemoteCommandHandlerStatusSuccess;

}];

[commandCenter.playCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent * _Nonnull event) {

    NSLog(@"播放事件");

    //播放相关事情

    return MPRemoteCommandHandlerStatusSuccess;

}];

在不用接收远程事件时要记的移除监听:

MPRemoteCommandCenter *commandCenter = [MPRemoteCommandCenter sharedCommandCenter];

[commandCenter.pauseCommand removeTarget:self];

[commandCenter.playCommand removeTarget:self];

相关文章

  • ios远程控制事件(蓝牙音箱)

    最近公司在做一个关于外接蓝牙音箱的功能,上网搜索了相关资料,发现大都雷同,今天做个稍许总结: 1.利用远程控制事件...

  • iOS事件响应原理

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

  • iOS 事件的传递响应机制

    iOS 中的事件 触摸事件 加速计事件 远程控制事件 iOS 中的触摸事件1、触摸事件发生,操作系统iOS会将此类...

  • iOS事件的响应者链

    iOS 事件响应者链 1 iOS中的事件 触摸事件 加速计事件 远程控制事件 在iOS中不是任何对象都能处理事件,...

  • iOS事件

    概述 iOS中事件有触摸事件、加速计事件、远程控制事件,下面以触摸事件为例研究下iOS事件相关的内容 UIResp...

  • 事件、事件响应链、手势分析

    一.事件 1.iOS三大事件包含触摸事件,设备移动事件,远程控制事件 2.iOS规定只有继承UIResponder...

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

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

  • iOS事件处理机制

    事件类型 iOS的事件可以分为三类:触摸事件,加速计事件,远程控制事件 iOS中不是任何对象都能处理对象,只有继承...

  • iOS 点击事件传递及响应

    1.iOS中的事件 iOS中的事件可以分为3大类型: 触摸事件加速计事件远程控制事件这里我们只讨论iOS中的触摸事...

  • iOS事件传递与响应原理

    iOS 中的事件可以分为3大类:触摸事件、加速计事件、远程控制事件,本文仅以 iOS 中的触摸事件为例进行讨论,主...

网友评论

    本文标题:ios远程控制事件(蓝牙音箱)

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