1
A
回答
0
用於在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框架中的一個私有函數。
函數的聲明是像
void AudioServicesStopSystemSound(SystemSoundID inSystemSoundID)
注:AudioServicesPlaySystemSoundWithVibration
僅適用於iOS6的
目前iOS中9和iOS 9.1沒有公開可用的API。
並在iOS 10有一個新的API稱爲UIFeedbackGenerator
。有關更多詳細信息,請參閱此post。它現在只適用於iPhone 7和iPhone 7 Plus。
聲明:有一種方法可以直接與Taptic Engine(iOS 9)進行交互,但有一種私有方法。你不應該在App Store應用程序中使用它。
相關問題
- 1. iPhone推送通知自定義聲音,在靜音模式下無振動?
- 2. iOS自定義振動
- 3. 代號爲1的自定義振動模式。
- 4. Moodle - 自定義新用戶通知
- 5. Firebase Cloud Messaging通知振動
- 6. Android通知振動時間
- 7. 通知不會振動
- 8. 振動推送通知
- 9. 的iOS - 本地通知 - 自定義振動或振動的持續時間較長
- 10. Basic4Android振動模式
- 11. 自定義通知
- 12. 自定義通知
- 13. iOS7中的自定義振動
- 14. iOS自定義鍵盤與振動
- 15. Android通知使用NotifiationChannel.enableVibration振動(false)
- 16. Android通知振動/ LED不起作用?
- 17. 振動不能使用通知
- 18. DB2用戶自定義函數和自定義模式
- 19. 自定義交互式通知按鈕
- 20. iOS推送通知自定義格式
- 21. 本地通知振動,直到用戶操作
- 22. 通知啓動自定義方法/類
- 23. 是否有蜂巢式自定義通知的模板?
- 24. 自定義通知間隔
- 25. 自定義firebase通知
- 26. 自定義ControlsFX通知
- 27. Android Studio自定義通知
- 28. 自定義通知視圖
- 29. 自定義emacs jabber通知
- 30. 自定義通知佈局
此方法只能在應用程序處於前景時「播放」自定義模式。我的問題是與用戶通知關聯的模式,但當應用處於前臺時不會發揮振動。 – user6539552
是的,這只是工作,當在後臺和前臺的應用程序。 函數應用程序:didReceiveRemoteNotification:fetchCompletionHandler:它可能或可能不會調用該方法。如果用戶已禁用後臺更新,則該方法永遠不會被調用, 當應用處於終止狀態時,無法創建自定義振動模式。 –
這個答案與我的問題無關。 – user6539552