最近适配耳机线控,记录一下问题

首先,耳机线控三要素:

1、开启接受耳机线控

~~~~

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

~~~~

2、成为第一响应者

~~~~

[self becomeFirstResponder];

重写响应方法

-(BOOL)canBecomeFirstResponder{

return YES;

}

~~~~

3、重写UIResponder方法

~~~~

//received remote event

-(void)remoteControlReceivedWithEvent:(UIEvent *)event{

NSLog(@"event tyipe:::%ld subtype:::%ld",(long)event.type,(long)event.subtype);

//type==2 subtype==单击暂停键:103,双击暂停键104

if (event.type == UIEventTypeRemoteControl) {

switch (event.subtype) {

case UIEventSubtypeRemoteControlPlay:{

NSLog(@"play---------");

}break;

case UIEventSubtypeRemoteControlPause:{

NSLog(@"Pause---------");

}break;

case UIEventSubtypeRemoteControlStop:{

NSLog(@"Stop---------");

}break;

case UIEventSubtypeRemoteControlTogglePlayPause:{

//单击暂停键:103

NSLog(@"单击暂停键:103");

}break;

case UIEventSubtypeRemoteControlNextTrack:{

//双击暂停键:104

NSLog(@"双击暂停键:104");

}break;

case UIEventSubtypeRemoteControlPreviousTrack:{

NSLog(@"三击暂停键:105");

}break;

case UIEventSubtypeRemoteControlBeginSeekingForward:{

NSLog(@"单击,再按下不放:108");

}break;

case UIEventSubtypeRemoteControlEndSeekingForward:{

NSLog(@"单击,再按下不放,松开时:109");

}break;

default:

break;

}

}

}

~~~~

为了保证这个方法的可行性,最好写在appdelegate 或者 rootController里

4、app是持有播放权限的,即没有被别的app抢走播放权限,也就是在系统中心展示的是我们app的播放信息,当然不添加信息在控制中心的话,如果能确定是自己的app在播放也没问题,以下是添加播放信息在锁屏展示

~~~~

NSMutableDictionary *songInfo = [NSMutableDictionary dictionary];

//歌曲名称

[songInfo setObject:@"test" forKey:MPMediaItemPropertyTitle];

//演唱者

[songInfo setObject:@"Monkey" forKey:MPMediaItemPropertyArtist];

//图片

[songInfo setObject:[[MPMediaItemArtwork alloc] initWithImage:[UIImage imageNamed:@"MP.png"]] forKey:MPMediaItemPropertyArtwork];

[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo];

~~~~

最后适配一下AirPods,AirPods有一个比较坑的问题是,必须在playback模式下才可以接受到响应事件,通常我们使用的权限都是playandrecord,这个是可以接受到线控耳机的响应事件,但是接收AirPods的事件。

如果要更加精细的操作,了解下MPNowPlayingInfoCenter和MPRemoteCommandCenter,iOS7.0之后推出的

ios版本 线控 Android,iOS 耳机线控相关推荐

  1. 山海经鸿蒙手游iOS 版本,山海经鸿蒙异兽iOS版

    山海经鸿蒙异兽iOS版是一款非常好玩的玄幻武侠游戏,游戏里加入了更多的远古巨兽,玩家们可以驯服来做自己的神宠,游戏的战斗场面非常的热血刺激,远古巨兽之争,到底谁是最后的王者?山海经鸿蒙异兽最新版给你一 ...

  2. ios备份备忘录到android,IOS系统备忘录怎么把内容同步到安卓手机?

    原标题:IOS系统备忘录怎么把内容同步到安卓手机? 虽然安卓手机在某些方面还比不上iOS系统的苹果手机,但这些年国产智能手机一直在进步,用诚意打动越来越多的人为国产手机消费. 比如华为手机曾被报道可以 ...

  3. android波浪线动画,Android绘制波浪线

    今天让我们来绘制一条波浪线,并且提供了控制波浪大小和波浪速度的方法,首先我们来看看完成的效果: 效果是不是还不错,接下来我们就来看看具体怎么实现的吧! 实现思路 波浪线的绘制 波浪线是怎么实现的呢,其 ...

  4. android 耳机线控的实现方法

    耳机线控的功能      耳机线控是一种很好用,并且能提升用户体验的功能.可以用来实现一些常用和基本的功能.比如:实现音乐播放的控制,接听电话,音量控制等.下面写一下耳机线控的几种实现方式. 耳机线控 ...

  5. [修复] Firemonkey 使用 DrawPath 断线问题(Android iOS 平台)

    问题:使用 Canvas.DrawPath 绘制时,最后一点无法画到终点位置.(这个问题要在粗线才能察觉) 适用:Delphi 10 Seattle (或更早的版本) for Android & ...

  6. 如何将 iOS 15 Beta 降级到 iOS 14.x

    升级到iOS15系统测试版后,很多人想要降级到原来的iOS14系统.iOS15系统怎么降级到iOS14?下面就演示操作步骤. 降级 iOS 15 Beta / iPadOS 15 Beta 的要求 在 ...

  7. 聊聊iOS开发中耳机的那点事(监听耳机拔插、耳机线控)-b

    如果说一个项目出现的最重大的事故,那无疑就是开发人员使用了不可控的元素. 前言 iOS开发当中有关于视音频播放的开发不在少数,用户时常会使用到一种输出设备,那就是"耳机",这一篇博 ...

  8. iOS开发系列--触摸事件、手势识别、摇晃事件、耳机线控

    -- iOS事件全面解析 概览 iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以不用按键和手写笔直接操作的,这不愧为一项伟大的设计.今天我们就针对iOS的触摸事 ...

  9. iOS事件全面解析 (触摸事件、手势识别、摇晃事件、耳机线控)

    -- iOS事件全面解析 概览 iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以不用按键和手写笔直接操作的,这不愧为一项伟大的设计.今天我们就针对iOS的触摸事 ...

最新文章

  1. 豪取4个SOTA,谷歌魔改Transformer登NeurIPS 2021!一层8个token比1024个还好用
  2. 树莓派 之 系统登陆及设置本地化(简体中文)
  3. 多个不同的app应用间应该如何进行消息推送呢?
  4. 解决远程连接超过最大连接数问题
  5. ML之SVM:基于Js代码利用SVM算法的实现根据Kaggle数据集预测泰坦尼克号生存人员
  6. java 延迟初始化_Java并发编程——延迟初始化占位类模式
  7. 工作209:整理订单的重置逻辑
  8. 09花冠钥匙计算机电路图,丰田花冠轿车发动机防盗系统设定
  9. percona zabbix mysql_zabbix采用percona监控mysql主从
  10. 怒江java培训班_怒江万词霸屏是什么意思
  11. 共识指数榜单0904
  12. [BlockChain]比特币交易快速上手(基于测试链)
  13. dart 语言中的列表(List)
  14. 题目1111:单词替换
  15. 反转链表与分组反转链表
  16. linux系统管理考试试题及答案,《Linux系统管理》期末综合试题答案.doc
  17. 目标客户画像_怎么进行目标人群的用户画像分析 - 爱盈利
  18. Python系列9——类和对象(3)
  19. 25 岁的 Linux 已经无处不在,它是如何毁了微软统治世界的计划?
  20. 4K高清屏幕保护工具Aquarium 4K for Mac

热门文章

  1. 全志a10 Android,全志A10 android平台CVBS效果调试
  2. 酷讯迷途反思:千万美元3年未找到真实市场
  3. 南召第一高中高考成绩查询2021,南召县第一高级中学举行2021届高考百日冲刺誓师大会...
  4. [九度][何海涛] 重建二叉树
  5. ESP8266+Flash基本操作
  6. ChatGpt对于学术和程序员的影响
  7. 『每周译Go』Go sync map 的内部实现
  8. 计算机网络犯罪预防与,计算机网络犯罪及其预防措施
  9. Elasticsearch架构选型指南——不止是搜索引擎,还有......
  10. 【网络进阶】网络问题排查实例集锦(实战经验分享)