按键与触控操作概述
本节介绍如何读取和修改设备按键、触控手势与设备功能之间的映射关系。
功能概览
操作与功能参考
查看 SDK 定义的按键与触控操作以及可分配功能
查看操作映射
读取设备的按键与触控操作到功能映射
功能分配
将设备功能分配给按键或触控操作
使用 AI 辅助实现
使用 AI 开发
让 AI 帮助实现此工作流
使用官方“管理 AIBuds 物理操作映射”技能,根据你的 App 完成实现。
请阅读并遵循 https://docs-aibuds.github.io/zh-Hans/skills/manage-aibuds-physical-operations,使用该技能在当前 iOS 项目中完成“管理 AIBuds 物理操作映射”,并验证结果。开始使用
管理按键与触控操作时,依次完成以下步骤:
- 连接设备 — 与 AIBuds 设备建立连接
- 检查协议支持 — 确认设备遵循
DevicePhysicalOperationsAPI - 查看操作映射 — 读取
physicalOperationsMapping - 功能分配 — 将
DeviceFunction分配给DeviceOperation
核心概念
操作映射
- 按键与触控操作:
DeviceOperation表示点击、长按、触控面板手势、实体按键以及受支持的滑动手势 - 设备功能:
DeviceFunction定义可分配的播放、音量、语音助手、录音和相机等行为 - 映射:
physicalOperationsMapping使用NSNumber键和值保存操作与功能的原始值
协议参考
通过 DevicePhysicalOperationsAPI 访问按键与触控操作。读取或修改映射前,请先确认设备支持该协议:
- Swift
- Objective-C
guard let device = device as? DevicePhysicalOperationsAPI else {
print("Device does not support DevicePhysicalOperationsAPI")
return
}id<AIBudsDevicePhysicalOperationsAPI> device =
(id<AIBudsDevicePhysicalOperationsAPI>)self.device;
if (![device conformsToProtocol:@protocol(AIBudsDevicePhysicalOperationsAPI)]) {
NSLog(@"Device does not support AIBudsDevicePhysicalOperationsAPI");
return;
}最佳实践
- 检查协议支持:始终确认设备支持所需协议
- 使用设备报告的操作:只展示
physicalOperationsMapping中包含的操作 - 处理错误:正确处理完成回调中的错误
- 提供反馈:按键映射成功更新后通知用户
注意事项
- 按键映射是否可用取决于设备型号
DeviceOperation或DeviceFunction中存在某个枚举值,并不表示所有设备都支持它- 即使枚举值存在,对应操作或功能仍可能不受支持;请处理分配结果
- SDK 提供的是字典,而不是
KeyMapping模型或异步映射查询方法