问题标签 [haptic-feedback]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Core Haptics 和 Core Bluetooth 会干扰吗?
设置
我的 iOS 应用程序正在与 BLE 设备通信。作为对此通信中某些事件的响应,我想向用户提供触觉反馈。
为了支持像 iPhone 7 这样的旧手机,我决定使用UIFeedbackGenerator
,专门UIImpactFeedbackGenerator
用于此目的。
现在,当通过 BLE 接收所述事件时,我调用feedbackGenerator.impactOccurred()
.
行为
在通话时,不会发生触觉反馈。但是系统仍然会记住这些调用UIFeedbackGenerator
。
因为,当用户随后与 UI 元素交互时,所有调用都会立即feedbackGenerator.impactOccurred()
触发,并且提供触觉反馈作为对该 UI 交互的响应。这让用户感到非常困惑,他们当时并没有预料到触觉反馈。此外,如果随着时间的推移积累了足够多的呼叫,触觉反馈可能会非常强烈。
当这些被遗忘的触觉反馈调用累积到足够多时,系统似乎就超载了。以下日志在控制台中生成了几十次:
CAReportingClient.mm:295:-[CAReportingClient init]_block_invoke:无法与帮助应用程序通信
无论如何,根据苹果文档,这可能是预期的行为UIFeedbackGenerator
:
请注意,调用这些方法不会直接播放触觉。相反,它会将事件通知系统。然后系统根据设备、应用程序的状态、剩余电池电量和其他因素确定是否播放触觉。
我的问题
您是否有使用 Core Bluetooth 改变CoreHaptics
or行为的经验UIFeedbackGenerator
?这是我调试的起点,因为当我在本地模拟通信的所有部分时,触觉反馈工作得很好。
我已经尝试过的
UIFeedbackGenerator
从主/后台线程调用- 使用
UINotificationFeedbackGenerator
代替UIImpactFeedbackGenerator
- 提前打电话
prepare()
。UIFeedbackGenerator
xcode - Watchkit:你如何要求一个没有声音的振动?
在 WatchKit 中,我调用:
... 手表会振动——但也有声音。
怎么叫手表震动不发出声音?
谢谢。
ios - CHHapticEngine 未运行
经过一天的使用CHHapticEngine
和自定义触觉模式,特别是使用 AHAP 文件(包括添加声音样本),我失去了 deivce / iPhone 中的声音和触觉。iPhone 恢复出厂设置后,设备中仍然没有触觉/声音(没有铃声、没有振动等)。当尝试启动触觉引擎并播放任何模式时,我可以在 Xcode 调试器中看到以下输出:
问题是,代码是否可能损坏硬件?
ios - 在 iPhone 7 Plus 上实现自定义触觉(具有不同的清晰度和强度)时遇到问题
我最近遇到了 Google 日历 iOS 应用程序,它在拖动或创建事件时提供了清晰但非常轻巧的触觉反馈。我正在尝试实现相同的功能。
我发现UIImpactFeedbackGenerator
's 的.light
影响对于我的要求来说仍然太强了。
经过一番挖掘,我发现CHHapticEngine
了“核心触觉”库,该库在提供“锐度”和“强度”参数时支持自定义触觉。但似乎这CHHapticEngine
在 iPhone 7 Plus 上不起作用,而谷歌以某种方式实现了这一点。
CHHapticEngine
不工作?
1)CHHapticEngine.capabilitiesForHardware().supportsHaptics
退货false
2)当我尝试在没有检查的情况下使用它时,它会返回:
(com.apple.CoreHaptics 错误 -4809。)
那么,是否有另一种方法可以生成自定义触觉(具有不同的清晰度和强度级别),在所有具有 Taptic Engine 的 iOS 设备上通用?蒂亚!
ios - Deinit UIImpactFeedbackGenerator
我UIImpactFeedbackGenerator
用TimeInterval=1.0
. 几秒钟后,我调用deinitHapticFeedback()
,如下所述并导航到下一个视图控制器,但反馈并没有停止,并且在新的 VC 出现后持续出现大约十秒钟。
(另外,我试着打电话deinitHapticFeedback()
,viewWillDisappear(_ animated: Bool)
但同样的事情发生了。)
您对 a 的更优化 deinit 函数有任何想法UIFeedbackGenerator
吗?
提前致谢!
ios - 如何在 UI 表视图单元中包含触觉功能
我有一个基本测验,其中 uitableview 呈现四个单元格。三个单元格有错误的答案,一个有正确的答案。我已经包含了警报,所以这会告诉用户他/她哪里不正确,哪里正确。
我还尝试包含一个触觉功能,但是当我在 iPhone 7 上运行该应用程序时,尽管 x 代码没有错误,但触觉功能不起作用。
ios - 带有 RIO 单元的触觉反馈
如果我将 AVAudioSession 配置为 .playAndRecord 类别并运行远程 IO 单元,那么在按钮按下时启用触觉反馈的最佳方法是什么?
ios - 无法运行 Apple 的 Haptic Sampler(来自 Apple 网站的示例项目)
我从这里下载了一个示例项目(触觉采样器),但由于几个问题我无法运行。我解决了签名标识符。
错误消息说:
~/PlayingACustomHapticPatternFromAFile/HapticSampler/ViewController.swift:66:19:类型“CHHapticEngine.StoppedReason”没有成员“gameControllerDisconnect”
~/PlayingACustomHapticPatternFromAFile/HapticSampler/ViewController.swift:68:19:类型“CHHapticEngine.StoppedReason”没有成员“engineDestroyed”
如果我删除这些部分,另一个错误说:
- 线程 1:致命错误:在隐式展开可选值时意外发现 nil
这是我的问题。
你是否也会遇到同样的问题?
我该如何解决这个问题?
这是我的环境规范。
- macOS Catalina 10.15.6
- Xcode 11.6
- iPhone 7 iOS 13.6
android - Android for iOS selectionChanged() 触觉的哪个等价物?
我一直在寻找selectionChanged()
安卓。我在 android 上找到了一些常量,但没有为 'selectionChanged' 找到:
https ://developer.android.com/reference/android/os/VibrationEffect
哪个可能是 android 的等价物?
ios - 为什么 Core Haptics 不播放?(CHHapticPatternPlayer)
在我的物理设备 (iPhone XR) 上测试以下代码时,我没有遇到任何触觉输出。我关注了 Apple Developer 的“播放单击触觉模式”文章,并仔细检查了互联网上的其他各种文章,我确信我已经正确实现了它。此外,运行时没有发现任何错误。我的设备不输出触觉模式的原因可能是什么?
旁注:
- 我可以确认我的手机确实为其他应用程序产生了触觉,所以这似乎不是我的物理设备的问题。
- 我还单独实现了一个 AVAudioPlayer;我怀疑这会干扰,但我想我会提到它以防万一。
任何帮助将不胜感激 - 谢谢!