gpt4 book ai didi

ios - 用户通知 : Custom Vibration pattern

转载 作者:搜寻专家 更新时间:2023-10-31 22:56:46 24 4
gpt4 key购买 nike

是否可以为用户通知警报创建自定义振动模式?例如,我们可以为用户通知选择不同的音频。是否也可以有自定义振动模式?

我的意思是在 iOS 上使用 swift 以编程方式执行此操作。

最佳答案

用于在 iOS 中创建自定义振动。使用 AudioServicesPlaySystemSoundWithVibration 和 AudioServicesStopSystemSound。

心跳振动示例

NSMutableDictionary* pulsePatternsDict = [@{} mutableCopy];
NSMutableArray* pulsePatternsArray = [@[] mutableCopy];

// beat for 100 times
for (NSInteger i=0; i<100; i++){
[pulsePatternsArray addObject:@(YES)]; // vibrate for 100ms
[pulsePatternsArray addObject:@(100)];

[pulsePatternsArray addObject:@(NO)]; //stop for 1200ms * 0.3
[pulsePatternsArray addObject:@(1200*0.3)];

[pulsePatternsArray addObject:@(YES)]; //vibrate for 100ms
[pulsePatternsArray addObject:@(100)];

[pulsePatternsArray addObject:@(NO)]; //stop for 1200ms * 0.5
[pulsePatternsArray addObject:@(1200*0.5)];
}

[pulsePatternsDict setObject:pulsePatternsArray forKey:@"VibePattern"];
[pulsePatternsDict setObject:[NSNumber numberWithInt:1.0] forKey:@"Intensity"];

AudioServicesPlaySystemSoundWithVibration(kSystemSoundID_Vibrate, nil, pulsePatternsDict);

但仅调用此 (AudioServicesPlaySystemSoundWithVibration) 将使振动永不停止。所以我必须找到一些函数来阻止它。

答案是AudioServicesStopSystemSound。它也是 AudioToolbox 框架中的私有(private)函数。

函数的声明是这样的

void AudioServicesStopSystemSound(SystemSoundID inSystemSoundID)

注意: AudioServicesPlaySystemSoundWithVibration 仅适用于 iOS6

iOS 9 和 iOS 9.1 目前没有公开可用的 API。

iOS 10 中有一个名为 UIFeedbackGenerator 的新 API。看这个post更多细节。它目前仅适用于 iPhone 7 和 iPhone 7 Plus。

免责声明:有一种方法可以直接与 Taptic Engine (iOS 9) 交互,但有一种私有(private)方法。您不应在 App Store 应用程序中使用它。

关于ios - 用户通知 : Custom Vibration pattern,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45101474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com