gpt4 book ai didi

ios - 是否有可能在 ios 中的 objc 中播放一次振动小于 0.25 秒

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:55:35 25 4
gpt4 key购买 nike

我需要在 ios 中播放小于 0.25 秒的振动,振动的顺序如下

1 次振动 0.25 秒,然后 3 次振动 0.15 秒,这个循环将持续有限的时间,比如 2 或 3 分钟。这里还需要精度,这意味着每次振动都必须在准确的时间开始

现在当我播放振动时它每秒播放一次

-(IBAction)onBtnVibrateClicked:(id)sender {
[self.view endEditing:YES];

[myTimer invalidate];
if(_txt_VibrationPerMinute.text.length == 0){
_txt_VibrationPerMinute.text = @"10";
}
myTimer = [NSTimer scheduledTimerWithTimeInterval:60/[_txt_VibrationPerMinute.text intValue]
target:self
selector:@selector(targetMethod:)
userInfo:nil
repeats:YES];
}

- (IBAction)obBtnStopVibrationClicked:(id)sender {

[myTimer invalidate];


}

-(void)targetMethod:(NSTimer *)timer {
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}

最佳答案

是的,你可以使用这样的东西

FOUNDATION_EXTERN void AudioServicesPlaySystemSoundWithVibration(UInt32 inSystemSoundID,id arg,NSDictionary* vibratePattern);

void vibrate(float durationInSeconds, float intensivity, long count)
{
NSMutableDictionary* dict = [NSMutableDictionary dictionary];
NSMutableArray* arr = [NSMutableArray array];
for (long i = count; i--;)
{
[arr addObject:[NSNumber numberWithBool:YES]]; //vibrate
[arr addObject:[NSNumber numberWithInt:durationInSeconds*1000]];

[arr addObject:[NSNumber numberWithBool:NO]]; //stop
[arr addObject:[NSNumber numberWithInt:durationInSeconds*1000]];
}

[dict setObject:arr forKey:@"VibePattern"];
[dict setObject:[NSNumber numberWithFloat:intensivity] forKey:@"Intensity"];

AudioServicesPlaySystemSoundWithVibration(4095,nil,dict);
}

关于ios - 是否有可能在 ios 中的 objc 中播放一次振动小于 0.25 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40930556/

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