Bluetooth 触觉不';当蓝牙耳机连接到Apple Watch时,请勿在后台播放
我有一个使用触觉通知的Bluetooth 触觉不';当蓝牙耳机连接到Apple Watch时,请勿在后台播放,bluetooth,apple-watch,watchos,watchos-3,haptic-feedback,Bluetooth,Apple Watch,Watchos,Watchos 3,Haptic Feedback,我有一个使用触觉通知的watchOS3锻炼应用程序。它设置正确,可以在后台运行训练课程和触觉工作。但是,如果将蓝牙耳机连接到apple watch,则仅会收到触觉振动或触觉的音频蜂鸣音,具体取决于应用程序当前是显示在手表表面还是在后台运行 我是这样玩触觉的: WKInterfaceDevice.current().play(.notification) 详情如下: 苹果手表Nike+未配对耳机:触觉和蜂鸣音会激活,无论手表表面是开着还是关着。钟声响亮而清晰 苹果手表Nike+与蓝牙耳机配对:
watchOS3
锻炼应用程序。它设置正确,可以在后台运行训练课程和触觉工作。但是,如果将蓝牙耳机连接到apple watch,则仅会收到触觉振动或触觉的音频蜂鸣音,具体取决于应用程序当前是显示在手表表面还是在后台运行
我是这样玩触觉的:
WKInterfaceDevice.current().play(.notification)
详情如下:
- 苹果手表Nike+未配对耳机:触觉和蜂鸣音会激活,无论手表表面是开着还是关着。钟声响亮而清晰
- 苹果手表Nike+与蓝牙耳机配对: 触觉功能仅在表面波打开、音频蜂鸣音关闭时激活。当手表面关闭时,音频蜂鸣音开启,触觉关闭。钟声响亮而清晰
杰夫
还有另一个要考虑的因素,那就是主表静音开关是开还是关。
我发现以下是一个合适的解决方法 当您希望在蓝牙耳机上播放音乐时,您的音频/触觉会被注意到时,请设置此AVAudioSession类别:AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback,带:.duckOthers)
然后,在完成音频/触觉后,将AVAudioSession重置回:
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback,带:.mixWithOthers)
我有这个助手类来帮助管理状态:
import AVFoundation
enum AudioPlaybackState {
case playback
case playbackDuckOthers
}
class AVAudio {
private init() {} // strictly a helper class
static func setAudioState(_ state: AudioPlaybackState) {
DispatchQueue.main.async {
do {
deactivateAudioSession()
switch state {
case .playback:
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: .mixWithOthers)
case .playbackDuckOthers:
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: .duckOthers)
}
activateAudioSession()
} catch {}
}
}
static func deactivateAudioSession() {
activateAudioSession(false)
}
private static func activateAudioSession(_ value: Bool=true) {
do {
try AVAudioSession.sharedInstance().setActive(value)
} catch {}
}
}
然后,我可以通过以下方式快速切换:
AVAudio.setAudioState(.playbackDuckOthers)
根据苹果公司的说法,问题中记录的行为就是它应该是的样子。给出的原因是使用蓝牙耳机时,触觉敲击和触觉音频之间存在延迟。我希望这种行为在将来会有所改变……下面是我在后台玩触觉游戏的方式,这在最新的WatchOS 6中是否仍然有效?当应用程序以蓝牙耳机为背景播放音乐时,我似乎无法触发任何触觉