ios版本 线控 Android,iOS 耳机线控
最近适配耳机线控,记录一下问题
首先,耳机线控三要素:
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 耳机线控相关推荐
- 山海经鸿蒙手游iOS 版本,山海经鸿蒙异兽iOS版
山海经鸿蒙异兽iOS版是一款非常好玩的玄幻武侠游戏,游戏里加入了更多的远古巨兽,玩家们可以驯服来做自己的神宠,游戏的战斗场面非常的热血刺激,远古巨兽之争,到底谁是最后的王者?山海经鸿蒙异兽最新版给你一 ...
- ios备份备忘录到android,IOS系统备忘录怎么把内容同步到安卓手机?
原标题:IOS系统备忘录怎么把内容同步到安卓手机? 虽然安卓手机在某些方面还比不上iOS系统的苹果手机,但这些年国产智能手机一直在进步,用诚意打动越来越多的人为国产手机消费. 比如华为手机曾被报道可以 ...
- android波浪线动画,Android绘制波浪线
今天让我们来绘制一条波浪线,并且提供了控制波浪大小和波浪速度的方法,首先我们来看看完成的效果: 效果是不是还不错,接下来我们就来看看具体怎么实现的吧! 实现思路 波浪线的绘制 波浪线是怎么实现的呢,其 ...
- android 耳机线控的实现方法
耳机线控的功能 耳机线控是一种很好用,并且能提升用户体验的功能.可以用来实现一些常用和基本的功能.比如:实现音乐播放的控制,接听电话,音量控制等.下面写一下耳机线控的几种实现方式. 耳机线控 ...
- [修复] Firemonkey 使用 DrawPath 断线问题(Android iOS 平台)
问题:使用 Canvas.DrawPath 绘制时,最后一点无法画到终点位置.(这个问题要在粗线才能察觉) 适用:Delphi 10 Seattle (或更早的版本) for Android & ...
- 如何将 iOS 15 Beta 降级到 iOS 14.x
升级到iOS15系统测试版后,很多人想要降级到原来的iOS14系统.iOS15系统怎么降级到iOS14?下面就演示操作步骤. 降级 iOS 15 Beta / iPadOS 15 Beta 的要求 在 ...
- 聊聊iOS开发中耳机的那点事(监听耳机拔插、耳机线控)-b
如果说一个项目出现的最重大的事故,那无疑就是开发人员使用了不可控的元素. 前言 iOS开发当中有关于视音频播放的开发不在少数,用户时常会使用到一种输出设备,那就是"耳机",这一篇博 ...
- iOS开发系列--触摸事件、手势识别、摇晃事件、耳机线控
-- iOS事件全面解析 概览 iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以不用按键和手写笔直接操作的,这不愧为一项伟大的设计.今天我们就针对iOS的触摸事 ...
- iOS事件全面解析 (触摸事件、手势识别、摇晃事件、耳机线控)
-- iOS事件全面解析 概览 iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以不用按键和手写笔直接操作的,这不愧为一项伟大的设计.今天我们就针对iOS的触摸事 ...
最新文章
- 豪取4个SOTA,谷歌魔改Transformer登NeurIPS 2021!一层8个token比1024个还好用
- 树莓派 之 系统登陆及设置本地化(简体中文)
- 多个不同的app应用间应该如何进行消息推送呢?
- 解决远程连接超过最大连接数问题
- ML之SVM:基于Js代码利用SVM算法的实现根据Kaggle数据集预测泰坦尼克号生存人员
- java 延迟初始化_Java并发编程——延迟初始化占位类模式
- 工作209:整理订单的重置逻辑
- 09花冠钥匙计算机电路图,丰田花冠轿车发动机防盗系统设定
- percona zabbix mysql_zabbix采用percona监控mysql主从
- 怒江java培训班_怒江万词霸屏是什么意思
- 共识指数榜单0904
- [BlockChain]比特币交易快速上手(基于测试链)
- dart 语言中的列表(List)
- 题目1111:单词替换
- 反转链表与分组反转链表
- linux系统管理考试试题及答案,《Linux系统管理》期末综合试题答案.doc
- 目标客户画像_怎么进行目标人群的用户画像分析 - 爱盈利
- Python系列9——类和对象(3)
- 25 岁的 Linux 已经无处不在,它是如何毁了微软统治世界的计划?
- 4K高清屏幕保护工具Aquarium 4K for Mac
热门文章
- 全志a10 Android,全志A10 android平台CVBS效果调试
- 酷讯迷途反思:千万美元3年未找到真实市场
- 南召第一高中高考成绩查询2021,南召县第一高级中学举行2021届高考百日冲刺誓师大会...
- [九度][何海涛] 重建二叉树
- ESP8266+Flash基本操作
- ChatGpt对于学术和程序员的影响
- 『每周译Go』Go sync map 的内部实现
- 计算机网络犯罪预防与,计算机网络犯罪及其预防措施
- Elasticsearch架构选型指南——不止是搜索引擎,还有......
- 【网络进阶】网络问题排查实例集锦(实战经验分享)