大多数浏览器和
Developer App 均支持流媒体播放。
-
开发 CarPlay 车载系统 - 第 1 部分
CarPlay 车载让您能够更智能、安全地在车内使用 iPhone。了解 CarPlay 车载的工作方式,以及如何设计您的车载信息娱乐系统来与 iPhone 密切协作。了解通过将 CarPlay 车载与车辆原生系统整合来打造出色用户体验的最佳做法。
资源
相关视频
WWDC19
WWDC17
WWDC16
-
下载
你好 欢迎参加“开发 CarPlay系统”的第一场会话 我是Emily Apple汽车体验工程师
CarPlay 的设计理念是让你可以 在车内更智能安全地使用iPhone CarPlay使你在驾驶时可以 使用iPhone完成事情 并把它们显示在车载系统上
CarPlay 将iPhone 熟悉的界面元素 和交互模式带进了你的车中 用户已经知道怎么使用CarPlay 因为他们知道使用iPhone
CarPlay不仅在汽车上 显示iOS CarPlay完全和你的汽车 自带的系统整合 带来最好的用户体验
CarPlay允许你为未来设计 有了CarPlay 你可在今天制造一辆车 当Apple发布新版本的iOS时 用户可以马上享受新特性带来的好处 你的车在未来的几年内都能保持良好
今天我们会带你浏览CarPlay的 功能如何工作 并讨论你要考虑的最重要的要求 我们想要解释我们希望CarPlay 能带来的用户体验 和我们提供的设计指南 最后要谈论CarPlay支持的应用
iPhone用户界面设计地非常完美 当拿在手上时 当你可以触摸它时
CarPlay将用户界面带到车上 使它更适应这种设置 使用更安全
它和你车上已有的一起工作 它在这个环境下用起来很舒服
让我们开始谈论CarPlay 如何工作的细节
让我们从汽车的原生用户界面开始
当iPhone被插入时 CarPlay会话开始 当CarPlay会话建立后 信息通过协议双向传输
视频可以从iPhone传到车里 音频也可以
音频还可以从车上的麦克风 传给iPhone
一旦CarPlay会话建立了 不同的数据流的组合会被使用
当CarPlay主屏被第一次显示 而且没有音频在播放 传输协议被用作初始化和定位信息 主屏显示的一个H264视频流 从iPhone传送到车上
若接着在CarPlay里播放音频 这个传输协议会被用来 传送当前播放的音轨的信息 这个视频流在编码正在播放屏幕 这首歌的音频被发送给汽车
如果CarPlay UI退出了 汽车的屏幕正在显示 CarPlay会话还是保持活动 传输协议继续被使用 为正在播放和位置信息 视频流不再被需要 但是CarPlay音频仍然在播放 即使CarPlay视频没有显示 屏幕和音频被分开控制 来自原生系统的视频 可在CarPlay的音频播放时显示 如果CarPlay界面被显示 来自原生系统的音频 比如收音机 可以播放
让我们看看Siri启动时会发生什么 使用方向盘上的一键通按钮 传输协议被用来告诉主机 iOS语音识别要被启用 CarPlay UI被发送到屏幕 Siri音频鸣响在汽车音响上播放 这个情况下 音频也从汽车麦克风 传送给iPhone
这个例子给你一个CarPlay 如何工作的高层次的概览
我们看看主机发生了什么的细节
通过线缆连接的CarPlay 数据通过USB传输
所有数据用IP打包
除了iAP2传输协议
来自汽车传感器的信息 通过iAP2传输 比如音频 电话 导航数据元
这个传输插件是Apple提供的源码 它接收输入的视频和音频流 以及一个额外的传输流
音频和视频被发送给主机的设施 连接到音响 麦克风和屏幕
控制事件 来自触摸屏 旋钮 按钮 触摸板 被发送给这个插件
如果是无线连接的CarPlay 系统的大部分是一样的
Wi-Fi和Bluetooth均需
对于无线连接 所有数据被用IP打包
用同样方式连接汽车子系统
你现在对CarPlay如何工作 有了一定理解 我们来看看最重要的汽车要求 我们会谈论它们的细节 我们希望确定你了解了这些要求 在你开始设计系统前 你可以确保它支持CarPlay
首先汽车要有一个好的显示屏 一个高质量的显示屏 对CarPlay的体验很关键
一些标准分辨率被支持 这是那些分辨率
大部分是近似于16比9 特别宽的屏幕也被支持 目前所有支持的分辨率都是横向
我们支持不同像素密度的屏幕
CarPlay的图标尺寸经过了调整 根据屏幕分辨率 所以图标会在低和高分辨率上 呈现相同的大小 不然的话在720p 的屏幕上图标会小很多
如果你的屏幕的分辨率有些许不同 和这里列出的相比 联系Apple来查询它是否被支持 我们要求在零件市场屏幕不小于6英寸 因为零件市场中的系统可以安装到 很多汽车上 汽车厂商生产的系统没有最低要求 因为汔车厂商有责任 确保CarPlay可以正常的显示 在所选的汽车屏幕上
我要指出一些额外的屏幕要求 24位的色深 60赫兹的刷新频率是强烈推荐的 对一个响应好的用户界面 确保H264解码器支持正确的配置 这是一个硬性要求
高品质的显示屏对CarPlay体验 至关重要 让我们谈谈汽车的音频系统和麦克风
CarPlay音频被分成2个流 主音频和备用音频 主音频是双向的 用作音乐和其他媒体 以及通话和Siri
备用音频被用作通知 主机把它和主音频混合 如果主机正在播放音频 像是收音机 主机必须混合备用音频 从iPhone发来的音频
有线连接CarPlay使用LPCM 无线CarPlay需要压缩音频 媒体使用AAC-LC 你可以选择使用OPUS 和AAC-ELD在其他音频上
CarPlay支持车上的 多种用户输入设备
CarPlay UI可以用主机上的 触摸屏来控制 通话旋钮和按钮或者触摸板 方向盘上的Siri按钮也是 关键的用户输入设备
很多车有触摸屏 让我们先谈谈它
当CarPlay UI被激活 而且用户触摸屏幕 主机发送给iPhone 触摸的x和y坐标 主机发送所有的触摸给iPhone 当CarPlay显示在屏幕上时 CarPlay只支持单击 我们支持两种触摸屏 高保真和低保真
高保真触摸系统有低延迟 所以允许追踪用户手指来支持滑动手势
然而这要求高性能的系统 有少于140毫秒的触摸延迟
这是列表通过滑动手势滚动 追踪触摸输入 工作在高保真触摸系统上
低保真触摸屏可能有更高延迟 通常是电阻屏 点击可以控制UI 但是滑动不会追踪用户的手指
这是用点击来滚动列表是怎么工作的 在低保真触摸系统上
有一些汽车用旋钮 按钮和 触摸板来控制 有时它们是主要的用户输入设备 有时有辅助的触摸屏 CarPlay支持所有的组合
旋钮被主机支持 发送旋转
选择
和后退事件
这是需要支持的最小的特性集合 对被用作主要界面的旋钮 旋转 选择 后退
有些旋钮还支持倾斜或轻推功能
这被CarPlay UI支持
汽车触摸板报告x和y坐标
和选择
还有后退按钮
如果旋钮和触摸板控制器是主控制器 后退和选择是必须的 辅助触摸板还可以支持字符识别 按钮提供多种功能 比如下一个 上一个 电话功能是可选的
CarPlay UI会自动改变 来匹配车上可用的用户输入设备 所有组合都有可能 如果主操作界面是触摸屏 组合包括有旋钮 有触摸板 或者有旋钮加触摸板 都是可能的
必须有一个为了Siri的物理按钮
Siri对CarPlay体验很重要 用户需要一个快速的方法访问Siri 即使CarPlay UI没有被显示 通常这个要求被实现 通过方向盘上的一键通按钮 关于Siri按钮 我们要求主机 发送给iPhone 所有按钮的按下 松开事件 所以在Siri会话中的互动成为可能
这就是我们对用户输入的讨论
传感器信息对CarPlay很重要
CarPlay需来自汽车的位置信息 这样地图应用才能正常工作 可以提供速度和GNSS信息 每辆车都需要知道它的速度 速度信息被iPhone用来推算定位 很关键 如果汽车没有 一个GPS或者GLONASS接收器 GNSS信息包括经纬度 如果汽车有这个功能
来自汽车的卫星定位信息 和iPhone自己的传感器都被使用 来判断用户的位置 来自汽车的数据可能更好 因为汽车可以集成更大的天线 这是推荐的配置 这会带来最好的地图用户体验 发送卫星定位信息 给iPhone是必须的 如果汽车有这些技术
GNSS信息也是必须的 如果任何系统 要支持无线CarPlay 因为更有可能手机在口袋 包 或者其他地方 手机本身的信号很差
连接iPhone和主机的要求 是什么?
Apple CarPlay支持 有线和无线连接 我们很高兴能提供无线CarPlay 因为这给用户带来方便的体验 用户可以把手机留在口袋或包里 对短途的驾驶特别方便
让我们首先谈谈有线连接
在这用USB 所有的音频和视频 以及控制信息都通过USB传输
你的主机需要支持USB角色互换 主机将会从USB主机切换成 USB设备 高吞吐率是必须的 你要确保你的USB设备 支持要求的数据速率 如果你的车上有多个USB接口 而且不是所有的都支持CarPlay 你可能要给接口加标签
无线CarPlay 在iOS 9里被支持
要求有Bluetooth 和Wi-Fi
Bluetooth被用来发现 和初始化连接
一旦Wi-Fi证书被通过 Bluetooth发送iPhone
Wi-Fi就被连接了 Bluetooth连接断开 之后的CarPlay传输 都会通过Wi-Fi 在CarPlay会话中所有音频 包括通话 音频和视频通过Wi-Fi 传输 还有控制协议
CarPlay要求一个 通过认证的Wi-Fi接入点 推荐5GHz 请注意高吞吐率 每秒25兆比特 是必须的 Bluetooth子系统需要 支持传输协议 无线CarPlay提供方便舒适的 用户体验 我们很高兴看到你的汽车支持它
现在让我们从Donald这 听听CarPlay的设计指导 嗨 我叫Donald 我在Apple从事设计工作 现在你看过了CarPlay怎么工作 让我们看看一些设计指导 能帮助你提供 你的汽车中最好的CarPlay体验
CarPlay设计成使用整个显示屏 最重要的事情之一 是CarPlay设计成使用整个屏幕
iPhone的用户立即 熟悉CarPlay且对它感到舒服 因为这是一个一致的系统有自己的图标 视觉语言 内部浏览系统
和CarPlay互动都很容易很快速 当用户可以确信屏幕上的任何 东西都是CarPlay的一部分
如果用户需要分辨什么元素 是CarPlay的一部分 什么元素是你的汽车用户界面的一部分
那么所有的交互都变得更有挑战性
而且你汽车的原生用户界面可能包括 图标和CarPlay图标有相似功能
若这些图标同时出现在屏幕上 会使人困惑
所以要用整个屏幕来 显示CarPlay
让我们看看当CarPlay开始时 应该发生什么 第一次连接iPhone CarPlay总在你的iPhone 插入汽车时启动 用户永远都不需要思考如何启动它
当用户第一次连接 他们的iPhone到汽车上时 汽车的显示屏应该马上切换成 显示CarPlay
这一点说明CarPlay启动后 在用户的连接行为与令人熟悉 的CarPlay界面之间创造了强联系
不要显示通知来 公告CarPlay状态的改变 CarPlay出现在屏幕上 就是最有效的视觉反馈
再一次连接到iPhone 让我们看看CarPlay的初次连接 之后应该发生什么 当用户第二次连接iPhone 应该感觉像是继续他们之前的会话
若CarPlay在用户离开汽车前 显示在屏幕上 CarPlay应在iPhone 连接后重新显示在屏幕上
如果CarPlay媒体当用户离开时 在播放 CarPlay媒体当iPhone连接时 应该继续播放 只要用户没有选择其他的音频来源 在CarPlay连接之间
我们应该永远尊重用户上次 在车里进行的选择
让我们看看上次用户模式 应该如何工作 请注意我在使用CarPlay 它显示在显示屏上
现在如果我断开连接 CarPlay结束 汽车回到它的 原生用户界面 如果我再插上 CarPlay应该出现在屏幕上 因为这是我上次在车上做的事情
如果CarPlay是连接断开时 出现在屏幕上的 或者汽车被关闭时CarPlay 应在iPhone重连时显示 若CarPlay媒体当时在播放 CarPlay应重新播放
让我们看一个不同的例子 CarPlay当汽车显示 原生用户界面时是激活状态 现在如果它断开连接然后重新连接
CarPlay不会出现在屏幕上 因为原生用户界面是我在车上 使用的最后一个东西
若CarPlay 不是最后显示的东西 应该继续显示车自己的用户界面 但即使CarPlay 不是最后显示在屏幕上的 若CarPlay媒体当时在播放 CarPlay媒体应继续被播放
切换到和从CarPlay显示 当用户将手机插入到车上时 CarPlay界面就显示出来了 但是用户可以随时在CarPlay界面 与原生用户界面之间切换
我们早看到 用户回到汽车的用户界面 通过选择品牌的图标 在CarPlay主屏上
他们可切换回CarPlay通过使用 Apple CarPlay按钮
Apple CarPlay按钮 是最重要的提示 CarPlay存在 一旦CarPlay启动 Apple CarPlay按钮 必须在顶级菜单中激活
且Apple CarPlay应 只在iPhone连接时出现 而且CarPlay被激活
确保iPhone连接断开时 隐藏Apple CarPlay按钮
显示Apple CarPlay按钮 是启用的状态 当CarPlay激活时
是禁用状态 当CarPlay没有激活时
你可选择替换一个 顶层菜单中的已有按钮 替换成Apple CarPlay 按钮比如电话按钮
请记住Apple CarPlay 按钮必须出现在你汽车的主屏中 当iPhone连接上的任何时候 当iPhone断开连接时 Apple CarPlay 按钮必须消失或禁用
Apple CarPlay按钮变种 让我们谈谈应当出现的你的界面 中的Apple CarPlay按钮
有些被批准Apple CarPlay商标可以使用 在你的原生用户界面中作为按钮 选择一个最适合你的设计的
有一个黑色商标和一个白色商标
还有白色黑色背景的变体
最后还有彩色背景
媒体源 让我们谈谈当iPhone断开连接时 怎么处理媒体源
若CarPlay被激活 用户正在听CarPlay音频播放
当iPhone连接断开时 是很可能表明 他们要离开车 你的系统应该优雅地处理 CarPlay媒体被断开
当iPhone断开连接时用户 不应该听到任何声音 音频不应该回到另一个音频源
若iPhone是在CarPlay 显示在屏幕上时断开 你应该回到进入CarPlay 前的最后一个屏幕上 不要显示CarPlay不可用或者 设备断开屏幕
当CarPlay媒体在播放时 而且用户断开iPhone 他们不应该听到任何声音
按钮的支持 你车上的硬件按钮应该 也支持CarPlay
Siri是CarPlay的必需部分 它要求一个触觉反馈按钮 因为它如此重要 这个按钮必须在方向盘上 用户希望Siri在任何时候都工作 无论CarPlay 是否在显示屏上可见 他们还希望Siri按钮像 iPhone主画面按钮那样工作 按下并保持600毫秒开启动Siri 启动的延迟不能超过1秒
汽车的媒体按钮 应该连接CarPlay的媒体播放 这样用户可以播放 暂停 切换到下一首或上一首音轨 快速前进后退
最后 如果你的车有针对电话 媒体 导航的快捷键 它们也应该映射到CarPlay 中相应的应用上
现在让我们谈谈 CarPlay中可以运行的应用
CarPlay支持的应用会出现在 汽车屏幕上的CarPlay主屏中 支持3类应用 音频 针对特定车辆的 和消息应用
如果用户有一个音频应用 为了CarPlay做了更新 这个应用会出现在用户连接到的 所有CarPlay汽车上 这些应用的用户界面是固定的 有iOS提供的结构 内容由应用自己提供 我们注意到音频应用看起来 很像内置的音乐应用 用户选择想要听什么 通过一个基于列表的UI 现在播放屏幕显示合适的 内容和控制 这个应用需要有一个特殊的授权 来兼容CarPlay 我们在iOS 10中做了改进 使音频应用的体验更好
iOS 10中新增了标签页支持 使得浏览列表组织更容易 在现在播放屏幕中 你可以看到应用的名字 和额外的播放控制按钮 在列表视图中 你可以看到正在播放什么 什么可以被串流 明确的或直播流媒体 一些应用被设计成它们一开始 运行就播放音频 我们在iOS 10中 加入了对这些应用的支持 这些加起来显著提升体验
看看这个新的标签页
串流应用的云图标
以及如何显示什么正在被播放
在正在播放屏幕中 这是应用名
和额外的播放控制
让我们看看下一类别 专门针对特定车辆开发的应用
由汽车制造商发布的应用 被用来控制车辆的功能 或者提供车辆信息 它们只出现在那家制造商的 特定车型中
这些应用也需要CarPlay授权
Siri支持是iOS 10新特性 针对控制车辆功能的制造商应用 Siri现在内置了支持 可以改变收音机节目 改变空调 等等 制造商应用和汽车通讯来实现这些功能 在Siri告诉应用用户想做什么之后
让我解释制造商应用是怎么 只在支持它们的车上运行的 一个CarPlay主屏的应用图标 被启用 只当iPhone连接到主机 主机支持和应用有相同名字的协议 主机支持的协议名和应用名要匹配 iAP外部附属 被用来从应用向主机传输数据
主机可以申明多个协议名 来支持当前和以后的应用 针对不同组的目标车型 主机应该有一个协议名来匹配 所有这个品牌的汽车 比如com.brand
他们还应该用协议名来匹配有 特定功能的车 比如电动车或运动款
还应该包括针对特定车型的协议名 这样只针对那款车型的应用 在将来可以被发布
主机需要用iAP2 来申明至少一个支持的外部附属协议 一般会多于一个 必须支持外部协议会话的 开始和停止 外部附属协议CarPlay须设为真 如果汽车支持有线和无线 连接CarPlay iAP2消息在所有传输方式上 都要被实现
大部分制造商应用会和汽车 通讯来完成任务 像是改变空调 这些应用还需要设计和实现 一个传输协议
那么应用如何支持这些特性? 应用的Entitlements.plist 需要被修改 来包括协议名 匹配那些目标主机 像这里显示的这样 有了这些额外的东西 加上用来和车辆通讯的协议 和CarPlay授权 你的应用就为CarPlay准备好了 我们希望看到一些来自制造商的 优秀的CarPlay应用
CarPlay和iOS 10支持一类 新的应用 消息应用 当消息应用被更新 以支持CarPlay 那个应用会显示在CarPlay主屏 可以收发消息 被Siri互动驱动 我们很高兴把CarPlay的功能 扩展到消息应用 使体验更聪明更安全
我们希望这是对CarPlay的一个 有用的概览 CarPlay是个很好的办法来 保持用户体验 在车上的体验 可以长久保持新鲜 我们很高兴有这个机会为你们演讲 关于iOS 10的新特性
想知道更多信息 请查看这次会话的 WWDC 网址
我们还有后续深入了解CarPlay 的视频会话你可能会感兴趣 谢谢观看
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。