首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

小折腾:修改蓝牙耳机按键映射

文章更新:   20170203 初次成文 问题提出   一般来说蓝牙耳机上面会有一个按钮,这个按钮起到开启/关闭耳机电源,控制音乐播放,接听/挂断电话等功能,而一般来说,在播放音乐时候,这个按钮往往起到都是暂停...因为小苏蓝牙耳机只能响应暂停和播放两个动作,那么小苏猜测,在音乐处于正在播放过程中第一次按下蓝牙耳机按键时,蓝牙耳机将会将按键类别值"key 201"传递给手机,音乐将会暂停;再按一次,蓝牙耳机将会将按键类别值...在音乐处于暂停状态下按下蓝牙耳机按键时: ?   以上测试结果也证实了小苏猜测。   ...,这样,按下蓝牙耳机按键时,不论音乐处于何种状态,不论系统向手机传回值是"key 201"还是"key 200",系统都会响应"下一曲"操作。   ...输出结果表明,不论蓝牙耳机传递给手机值是"key 201"还是"key 200",都会响应"MEDIA_NEXT"即"下一曲"操作,而事实上也是这样,不论音乐处于暂停还是正常播放状态,按下蓝牙耳机按键时

6.4K30

touchesBegan 触摸事件一、概念介绍二、方法介绍三、参数介绍:touches四、参数介绍:event

:停止状态下,按耳机线控中间按钮一下】 UIEventSubtypeRemoteControlPlay = 100, //暂停事件 UIEventSubtypeRemoteControlPause...,按耳机线控中间按钮一下】 UIEventSubtypeRemoteControlTogglePlayPause = 103, //下一曲【操作:按耳机线控中间按钮两下】 UIEventSubtypeRemoteControlNextTrack...= 104, //上一曲【操作:按耳机线控中间按钮三下】 UIEventSubtypeRemoteControlPreviousTrack = 105, //快退开始...【操作:按耳机线控中间按钮三下不要松开】 UIEventSubtypeRemoteControlBeginSeekingBackward = 106, //快退停止【操作:按耳机线控中间按钮三下到了快退位置松开...= 108, //快进停止【操作:按耳机线控中间按钮两下到了快进位置松开】 UIEventSubtypeRemoteControlEndSeekingForward = 109, (3)获取触摸产生或变化时间戳

2.4K100
您找到你想要的搜索结果了吗?
是的
没有找到

touchesBegan 触摸事件

:停止状态下,按耳机线控中间按钮一下】 UIEventSubtypeRemoteControlPlay = 100, //暂停事件 UIEventSubtypeRemoteControlPause...,按耳机线控中间按钮一下】 UIEventSubtypeRemoteControlTogglePlayPause = 103, //下一曲【操作:按耳机线控中间按钮两下】 UIEventSubtypeRemoteControlNextTrack...= 104, //上一曲【操作:按耳机线控中间按钮三下】 UIEventSubtypeRemoteControlPreviousTrack = 105, //快退开始...【操作:按耳机线控中间按钮三下不要松开】 UIEventSubtypeRemoteControlBeginSeekingBackward = 106, //快退停止【操作:按耳机线控中间按钮三下到了快退位置松开...= 108, //快进停止【操作:按耳机线控中间按钮两下到了快进位置松开】 UIEventSubtypeRemoteControlEndSeekingForward = 109, (3)获取触摸产生或变化时间戳

79120

iOS后台音频播放及锁屏界面显示音频信息 原

操作类型,我们打开系统桌面抽屉,可以看到如下控制键: ?...                 = 100,     //点击暂停按钮     UIEventSubtypeRemoteControlPause                = 101,     /.../点击停止按钮     UIEventSubtypeRemoteControlStop                 = 102,     //点击播放与暂停开关按钮(iphone抽屉中使用这个)     ...,     //快退开始 点击耳机中间按钮三下不放开     UIEventSubtypeRemoteControlBeginSeekingBackward = 106,     //快退结束 耳机快退控制松开后...  = 108,     //快进结束 耳机快进操作松开后     UIEventSubtypeRemoteControlEndSeekingForward    = 109, }; 三、设置后台信息显示及锁屏界面设置

3K30

iOS 8人机界面指南(三):iOS技术(下)- 腾讯ISUX

以下几点可以帮助您用户不反感方式获取用户数据。 确保使用户理解分享私人数据原因 如果没有明显需要,用户自然会对私人信息请求感到怀疑。...欲了解如何实现这一功能,参见《iOS应用编程指南》中执行长时间运行后台任务。 以下是一些示例情境,其中指示了如何选择音频会话类目提供用户喜欢音频体验。...在文本页面内,文字选择应该是默认设置。 不要使按钮标题可选择 如果按钮标题是可选择,用户很难在不激活按钮情况下呼出编辑菜单。通常来说,像按钮这样操作元素不需要是可选择。...3.17 撤销与重做(Undo and Redo) 用户通过摇晃设备触发撤销操作,会显示提醒框允许他们: 1.撤销他们刚才输入内容 2.重做先前撤销输入 3.取消撤销操作 ?...如果撤销和重做在你应用中是基础性任务,尽量使用系统原生撤销与重做按钮 记住摇晃手势是用户触发撤销与重做操作主要方式,而如果提供两种不同方式完成同样任务则会使用户困惑。

2K40

iOS 9人机界面指南(三):iOS 技术 (下) - 腾讯ISUX

欲了解如何实现这一功能,参见《iOS应用编程指南》中执行长时间运行后台任务。 以下是一些示例情境,其中指示了如何选择音频会话类目提供用户喜欢音频体验。...如果按钮标题是可选择,用户很难在不激活按钮情况下呼出编辑菜单。通常来说,像按钮这样操作元素不需要是可选择。 将对撤销与重做支持与对复制与粘贴支持组合到一起。...3.23 撤销与重做(Undo and Redo) 用户通过摇晃设备触发撤销操作,显示提醒框让他们可以: 撤销他们刚才输入内容 重做先前撤销输入 取消撤销操作 ?...你可以通过在你应用中定义出更通用方式来支持撤销操作: 允许用户撤销或重做行为 在你应用哪种情形下晃动手势是用于撤销操作 支持多少步撤销 欲了解如何用代码实现这一行为,请参阅Undo Architecture...记住摇晃手势是用户触发撤销与重做操作主要方式,而如果提供两种不同方式完成同样任务则会使用户困惑。如果你认为很有必要提供直观专有的撤销与重做操作,你可以在导航栏中放置系统原生按钮

1.3K30

【译】如何避免在JavaScript中阻塞DOM

例如:当一个按钮被点击后触发了一个事件,这个事件执行一个函数,在函数内进行了一些计算并更新DOM。一旦完成,浏览器便空闲下来,从任务队列中取出下一个任务来处理。...在下面的例子中,当按钮点击事件触发时,相应处理函数通过为元素添加CSS类方式使其执行动画。而当动画结束时,这个CSS类会被一个匿名回调函数移除。...右侧图片是一个基本GIF动画。点击write按钮执行默认100,000次sessionStory操作: CodePen 上述操作会导致DOM更新被阻塞。...所以这个"入侵者"在大多数浏览器中会卡住不动,GIF动画会间断性暂停。在较慢设备上可能会显示“脚本未响应”警告。 这是一个复杂例子,但它演示了前端性能是如何受到基础操作影响。...此外,幸运是,在无法避免长时间运行任务情况下,也存在一些选项可供开发者选择。 用户和客户们可能永远不会注意到你所做速度优化,但当应用程序变慢时,他们总是会抱怨!

2.7K10

《iOS Human Interface Guidelines》——Sound声音

无论静音开关位置在哪,用户都可以使用音量按钮来安静任何声音。使用音量按钮来调整一个app当前播放音量同样会调整所有系统音量,包括铃声音量。...IPHONE 当没有声音播放时使用音量按钮会调整铃声音量。 用户使用耳机来私下听声音并解放他们双手。无论这些设备是有线还是无线,用户都有着特殊用户体验期待。...当用户插上耳机,或者连接到一个无线声音设备时,他们想要继续听到当前声音,但是是私下。因此,他们希望当前正在播放声音app能够不暂停地继续播放。...当用户拔出耳机,或者从一个无线设备断开连接(或者设备超出距离或者关闭)时,他们不想自动分享他们听内容给其他人。因此他们希望当前正在播放声音app暂停,允许他们在准备好时候重新播放。...这些编程接口不产生声音;它们帮助你表达你声音和设备上声音应有的交互方式以及对设备配置打断和更改响应。 IPHONE 无论你使用何种技术产生声音或者定义它行为,手机都可以中断当前运行app。

1.7K30

多伦多儿童医院脑机接口实验正在进行

由 Holland Bloorview 设计名为 Mindset 软件会解码这些信号并将其转换为可操作命令,供计算机执行。...首先是教用户“激活想法”,即可以与虚拟动作相关联图像和想法。比如,一般情况下, Alnaser 激活想法是拍手,她用它来触发 Baby Shark 视频上暂停和播放按钮。...第二部分是所谓“安静大脑”活动,或者说是 BCI 设备用户完全“清除”头脑中想法时期。Mindset 软件使用它来区分可操作和不可操作想法。...Van Damme 女士将颜料添加到 Adam 远程控制球上,创建蓝色和橙色图案。 BCI 诊所另一个参与者是 15 岁Adam Haggarty ,他患有脑瘫,平时使用手控轮椅。...Adam 可以进行口头交流,并具有良好机动性。尽管如此,他还是有很多想做而做不到事情,例如不必费力去够到壁挂式按钮同时能打开门。

33920

【audio】耳机插拔 线控按键识别流程【转】

耳机插拔/线控按键识别流程 耳机插拔/线控按键识别流程 1.文档概述 本文msm8909平台,android N为例,介绍了通用情况下,耳机插拔流程步骤,以及对耳机类型识别逻辑。...2.1 如何区分欧标和美标耳机 通常在国内有一些简单区分方式,比如依照中间橡胶圈来区分,白色是美标,黑色素欧标(国内大部分厂商都使用欧标,所以也有把OMTP叫做国标)。...从目前来看,这个阀值需要调节至36,因为如果32作为临界值,会有很多客户发现部分耳机使用起来音量大小差异较大(差了4.5db)。 iphone耳机,接入设备有执行以下流程,如下流程图: ?...3.耳机线控按键 通常耳机线控按钮会有一个或者三个,如果HOOK,音量+,音量-(音量调节按钮只在部分耳机上会有,如TF运营商目前标准仅支持一个HOOK按键) HOOK作用是由上层负责,底层只需要确保上报了对应..._P端)检测电压范围阀值与 实际耳机一致; 其中,如果针对每个按钮去做计算,btn后值计算公式如下: ?

2.4K20

iOS 音乐播放器之锁屏歌词+歌词解析+锁屏效果

功能描述:锁屏歌曲信息、控制台远程控制音乐播放:暂停/播放、上一首/下一首、快进/快退、锁屏状态下列表菜单弹框和拖拽控制台进度条调节进度(结合了QQ音乐和网易云音乐在锁屏状态下效果)、歌词解析并随音乐滚动显示...具体用法如下: //在具体控制器或其它类中捕获处理远程控制事件,当远程控制事件发生时触发该方法, 该方法属于UIResponder类,iOS 7.1 之前经常用 - (void)remoteControlReceivedWithEvent...break; case UIEventSubtypeRemoteControlPlay: [self.player play]; break; //耳机播放暂停...MPRemoteCommandCenter对象提供feedback对象用于对媒体文件进行喜欢, 不喜欢, 标记操作....return MPRemoteCommandHandlerStatusSuccess; }]; // commandCenter.togglePlayPauseCommand 耳机线控暂停

2.7K150

跟我学Rx编程——调皮背景音乐按钮

涉及操作符 partition switchMapTo takeUntil 业务逻辑 点击背景音乐按钮,则播放音乐,再次点击暂停播放音乐 当切换场景时候,如果音乐正在播放,则切换新场景背景音乐 当切换场景时候...,如果音乐已经暂停,则等待点击后再播放新音乐 当有音乐时候,按钮播放旋转动画,暂停播放时按钮静止不动 对于使用者来说再正常不过逻辑,开发起来却不是那么容易,因为涉及到声音加载,切换,暂停和响应点击等...,就会触发直到收到了静音转场事件。...就是说此时用户点击了音乐播放按钮,就会在暂停和播放两种状态切换。直到我们暂停情况下转场了,就不再监听。为什么是这样设计呢?...利用Rx编程,我们复用了事件流对象,组合出了各种状态下逻辑,并将实际执行代码压缩到最精简,假如有逻辑需求变化,也能很快修改。

48810

iOS 音乐播放器之锁屏歌词+歌词解析+锁屏效果

功能描述:锁屏歌曲信息、控制台远程控制音乐播放:暂停/播放、上一首/下一首、快进/快退、锁屏状态下列表菜单弹框和拖拽控制台进度条调节进度(结合了QQ音乐和网易云音乐在锁屏状态下效果)、歌词解析并随音乐滚动显示...具体用法如下: //在具体控制器或其它类中捕获处理远程控制事件,当远程控制事件发生时触发该方法, 该方法属于UIResponder类,iOS 7.1 之前经常用 - (void)remoteControlReceivedWithEvent...break; case UIEventSubtypeRemoteControlPlay: [self.player play]; break; //耳机播放暂停...MPRemoteCommandCenter对象提供feedback对象用于对媒体文件进行喜欢, 不喜欢, 标记操作....return MPRemoteCommandHandlerStatusSuccess; }]; // commandCenter.togglePlayPauseCommand 耳机线控暂停

2.7K70

Firebase In-App Messaging 应用内消息

提供消息模板,您可以进行实验并根据自己喜好进行自定义 卡片 包含两个操作按钮结构化消息 为用户提供选择 Snip20230915_17.png 模态...包含一个操作按钮灵活消息对话框 只需使用您要展现内容设置消息标题 Snip20230915_19.png 仅图片 上传您自定义消息 可根据自己审美轻松调整显示效果 Snip20230915...FIRInAppMessagingDisplayMessage *)inAppMessage error:(NSError *)error{ NSLog(@"消息显示失败了"); } @end 编程方式触发应用内消息...除了 Analytics 触发应用内消息,还可以使用 代码逻辑触发 代码控制应用内消息触发时机,事件名要与控制台对应 [[FIRInAppMessaging inAppMessaging] triggerEvent...使用 Firebase 控制台向消息添加操作 修改卡片、按钮文字、按钮操作、图片等等 Snip20230915_32.png 修改消息外观和风格 iOS、Android、Flutter,详情可见

30710

最新iOS设计规范六|10大交互规范(User Interaction)

使用这种交互时应该非常谨慎,因为这会使用户更难以访问系统级操作。 提供快捷手势补充基于界面的导航和操作,而不是代替。尽可能提供一种简单、可见方式来导航或执行操作,即使这可能意味着需要额外点击。...,例如:可以触发菜单,显示更多内容甚至是播放动画,而以上均无需用户去学习新手势操作即可使用。...当拔下耳机时,他们则希望播放立即暂停。 设计出色音频体验 必要时自动调整不同层级音量水平,但不是整体音量。为达到更好混合音效,你APP可以单独调整不同层级音频间相对音量实现多种音频混合。...十、撤销和重做(Undo and Redo) 许多APP允许用户摇动设备撤消或重做某些操作,例如键入或删除。这种方式启动时,警报会要求用户确认或取消删除,或重做操作。...当摇动手势用于呼出撤消和重做操作时,请不要将其用于其他操作。虽然你可以通过编程方式为摇晃手势赋予多种含义,但这可能让用户感到困惑和无法预测。 谨慎提供撤消和重做按钮

4K30

在 Chrome DevTools 中调试 JavaScript

接下来我们开始思考一开始抛出程序运作方式,我们可以根据经验推测出,我们在点击num1+num2按钮时候触发 click 事件肯定和 6+9=69 计算不正确有关系。...这是因为我装浏览器插件导致定位不准,最好在无痕模式进行操作。不过也不影响,我们点击一下最左边页面上蓝色按钮,再点击中间打括号(格式化代码),就可以定位准确并且格式化好代码: ?...代码行断点 直接点击 这是使用最多一种断点方式,在知道需要检查的确切代码区域时,可以使用代码行断点。 DevTools 始终会在执行此代码行之前暂停。 ?...debugger 在代码中调用 debugger 可在该行暂停。 此操作相当于使用代码行断点,只是此断点是在代码中设置,而不是在 DevTools 界面中设置。...输入要对其设置断点字符串。 DevTools 会在 XHR 请求网址任意位置显示此字符串时暂停。 按 Enter 键确认。 ?

4.9K20

《深入浅出Dart》事件循环和协程机制

它们使得我们能够非阻塞方式处理异步操作,并允许在异步操作期间暂停和继续执行代码。本文将深入探讨 Dart 事件循环和协程机制,并结合代码示例进行详细说明。...这保证了微任务及时执行,并避免了某些异步任务被延迟处理情况。 通过协程机制,Dart 实现了非阻塞异步编程。当遇到 await 表达式时,协程会暂停执行,并将控制权交给事件循环。...IO 事件 包括文件读写、网络请求等异步操作。当执行这些异步操作时,相应 IO 事件会被触发,然后作为宏任务在事件循环下一轮执行。...UI 事件 在 Flutter 应用程序中,用户交互(如点击按钮、滑动屏幕等)触发事件也是宏任务。这些 UI 事件会被放入事件队列,并在事件循环下一轮执行。...综上所述,Dart 事件循环、协程和微任务队列相互配合,实现了高效异步编程机制。事件循环负责处理各种事件,协程允许代码在异步操作期间暂停和继续执行,微任务队列保证异步任务回调函数能够及时执行。

31310

Spread for Windows Forms高级主题(8)---通过暂停布局提高性能

两个方法可以完成这些操作,FpSpread类中SuspendLayout 和ResumeLayout方法。一定要在一个特定操作范围内同时使用这两个方法,否则暂停布局后就会出现问题,不能恢复。...这些只会在使用SuspendLayout方法暂停布局时才会发生,然后对控件状态所做改变也会生效,控件也会某种方式使用非法布局对象进行再次绘制。...对控件状态所做任何修改都会触发布局重计算,但并非所有的改动都是这样。...同时使用两个方法 大概程序结构如下: SuspendLayout 在这里插入你代码 ResumeLayout 这两个方法用来暂时忽略对布局所做修改,这样可以进行许多修改操作,而不用在每次修改时进行多余布局重计算...在使用嵌套循环修改每一个单元格时,像修改每一个单元格值,这种情况肯定可以从先暂停布局,然后再恢复布局方式中获益。

1.7K60

前端|Bootstrap 实例 - 简单轮播插件

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。...1.Bootstrap轮播(Carousel)插件 Bootstrap 轮播(Carousel)插件是一种灵活响应式向站点添加滑块方式。...图1.1 引入Bootstrap相关文件 2.轮播图三要素:小圆圈、图片、左右按钮 ?...”:表示播放时间间隔,单位毫秒,默认值5000 (3)data-wrap=”true”:表示循环播放,如果是false会停止到最后一张 (4)data-pause=”hover”:表示暂停(默认),鼠标移上去暂停到当前幻灯片...,能保证屏幕阅读器正确读取且不会影响 UI视觉呈现 (14)图片上div加上相应class名字,直接调用bootstrap组件,有相应js代码和css代码,可以直接触发执行。

3.8K20
领券