新鲜出炉(恶搞我怀孕了语音)怀孕恶搞图片 b超

六八 206 0

新鲜出炉(恶搞我怀孕了语音)怀孕恶搞图片 b超 第1张

原副标题:合作开发音频掌控,我得到了那些经验!【CSDN 萨德基】语言掌控向很多无法充分挖掘 iPhone 潜力的人袒露了 iOS 的大门书名镜像:https://www.swiftjectivec.com/voice-control-accessibility-tweaks-ios/。

作者 | Jordan Morgan 翻译者| 弯月公司出品 | CSDN(ID:CSDNnews)音频掌控是 iOS 设备上提供的一项开创性远距控制技术,由 Cupertino & Friends™️ 合作开发此项控制技术在 iOS 13 中首次现身,有了此项控制技术,你就能透过音频掌控 iPhone 了。

你能试一试,拿起手机,然后说:“嘿 Siri,关上音频掌控”请注意,假如这是你第一次采用音频掌控,那么可能将 iOS 须要浏览纸制的命令行才能正常采用音频掌控在 macOS 上也可用,可能将也须要相同的增设。

在音频掌控被转化成后,你就能透过各种指示导航系统和采用 iOS 了,指示的形式为“两个代词+两个术语”例如,“关上手电”或“播映音乐”假如你不确定他们能干什么,甚至能说“表明指示”或“告诉我该说什么”,这种就能获得一些提示信息。

音频掌控主要有四种表明商业模式假如某一机能支持远距发动机,则能看见:项目编号:对应于该机能的 accessibilityLabel 值序号:每个快捷键的序号分层:那些线将介面拆分成两个个分层,这种你就能著眼研究两个区域。

新鲜出炉(恶搞我怀孕了语音)怀孕恶搞图片 b超 第2张

远距机能试验合作开发者可能将没有意识到的一件事是,音频掌控除了能协助残疾人士关上 iPhone 之外,对于 iOS 技师来说,这只不过是两个标识符舞弊宝物为什么?因为你能看见介面内大部份 accessibilityLabel(可出访性条码)的值!。

你能很随心所欲地看见他们略去了什么假如你不熟悉 iOS 上的远距机能程式设计,可能将觉得那些可出访性条码也无所谓反正,只不过你应该了解呵呵那些特性快捷键名称是预设商业模式,因此你能够快速科孔大部份的快捷键那些天前,这一直是我试验我们的产品 Voice Over 的最佳方式。

假如你发现某一可出访性条码不太适合音频掌控,则能透过 API 来修改:// In UIKitopen var accessibilityUserInputLabels: [String]!// In SwiftUI

.accessibilityInputLabels([Text])这个字符串字符串能协助音频掌控机能做出积极响应最重要的是,字符串中的第两个字符串将取代介面表明的可出访性条码值自述呵呵,增设的工具栏一般是两个牵引电动。

假定你有两个音频编辑应用,如下右图:struct SettingsButton: View {var body: some View {Button {openAudioSettings} label: {

Image(systemName: "gear.circle")}.accessibilityLabel("Audio Levels and Mixing Settings")}}为了指示 Siri 正确关上这个应用,我们须要说:“Open audio levels and mixing settings”,其中 “Open” 是代词,意思是关上,而 “audio levels and mixing settings” 就是上述标识符中增设的可出访性条码的值。

这个指令显然太啰 嗦了,我们能利用 accessibilityInputLabels 完成以下两件事:1.缩短指令2.指定音频掌控的积极响应内容如下右图:struct SettingsButton: View {。

private let axVoiceControlCommands: [Text] = [Text("Audio Settings"),Text("Settings"),Text("Audio Levels"),

Text("Mixing Settings")]var body: some View {Button {openAudioSettings} label: {Image(systemName: "gear.circle")

}.accessibilityLabel("Audio Levels and Mixing Settings").accessibilityInputLabels(axVoiceControlCommands)

}}如此一来,我们就能采用 accessibilityInputLabels 中指定的任何两个词语作为指令:“Open Audio Settings”、“Open Settings”、“Open Audio Levels” 或者 “Open Mixing Settings”。

难点最近,我一直在改进我们的音频掌控体验虽然,现在我们的音频掌控体验能正常运行了,但在这个过程中,我遇到了很多挫折相似的项目编号我发现,有几个地方出现了相同的可出访性条码值如下图右图,“Create a post for this time” 反复表明:。

新鲜出炉(恶搞我怀孕了语音)怀孕恶搞图片 b超 第3张

于是,我就在想这是不是两个问题结果发现,照片应用也有同样的“问题”,因此我想知道他们是如何处理的最终发现,原来是音频掌控解决了这个问题当你发出的指令涉及多个表明条码时,比如下图中 “Tap Live Photo”,iOS 就会在每张照片上表明两个数字序号,这种就能消除歧义了:。

新鲜出炉(恶搞我怀孕了语音)怀孕恶搞图片 b超 第4张

很聪明的做法冗长的名称有时候,我不知道用什么样的字符串与介面交互例如,在我们的设计中,分层中的每一项能代表任何操作你能将它们视为社交媒体帖子在这种情况下,似乎直接念出文本并不太方便,尤其是假如文本是URL的话,未免也太冗长了。

最后,我决定采用序号。这种方法不仅能让每一项都成为独一无二的存在,而且关上操作也非常容易。在下图中,右边是预设的表明,左边是我最后采用的序号方式:

新鲜出炉(恶搞我怀孕了语音)怀孕恶搞图片 b超 第5张

没有用于检测音频掌控的 API最后,我遇到了两个最棘手的问题我们无法透过 API 检测何时音频掌控处于采用状态所以,我们不能编写下面这种的标识符:func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {。

if indexPath.row == TheOneWithTheSwitchInIt {if UIAccessibility.isVoiceOverRunning {// Perform some action that toggling

// The UISwich would normally do}} }为什么我们要写这种的标识符?因为某些分层内的单元格有 UISwitch 控件这是两个标准的用户体验,在 iOS 中随处可见我们写这段标识符的原因是,有可能将人们不会点击格子与它们互动,而是直接采用开关控件。

但对于 Voice Over,这种行为正是我们须要的。问题在于,音频掌控不适合这种的增设。请注意如下单元格 “Pause Queue Off”:

新鲜出炉(恶搞我怀孕了语音)怀孕恶搞图片 b超 第6张

假如用户说“Tap Pause Queue Off”,上面的逻辑就会触发,但是检查 Voice Over 却得不到任何积极响应重要的是,Voice Over 和 Voice Control 是相互排斥的,你只能采用其中之一。

我多么希望苹果有两个简单的 API 来检查音频掌控的状态,就像下面这种:UIAccessibility.isVoiceControlRunning然而,很遗憾,我们没有因此,解决这种的问题就会非常困难最后的想法

音频掌控非常酷,它是苹果推出的一项我个人非常喜欢的控制技术但是,相关的合作开发还是有一些陷阱,例如你无法透过 API 检测音频掌控是否正在运行,这仍然让我感到困惑然而,这是试验个人音频掌控实现的最佳方式之一最重要的是,它向很多无法充分挖掘 iPhone 潜力的人袒露了 iOS 的大门。

☞ ChatGPT 的开源“替代”来了!前 OpenAI 团队出手,能用中文提问,3 天斩获 3k+ Star ☞ 烧数亿美元、耗上万颗英伟达 GPU,微软揭秘构建 ChatGPT 背后超级计算机往事 !

☞GPT-4 发布:在考试中击败 90% 的人类;谷歌开放大语言模型 PaLM API;FireFox 111 发布|极客头条 返回搜狐,查看更多责任编辑:

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~

假孕方法/道具 微信:58898079