标题有它... iOS 10上有一个新的声音,UIPickerView
每次更改所选项目时都会播放。有没有办法播放这种声音?理想情况下,如果有系统声音,则为AudioServicesPlaySystemSound(_)
,如果没有,则为任何其他方式。
答案 0 :(得分:1)
我遇到了同样的问题,终于找到了解决方法
AudioServicesPlaySystemSoundWithCompletion(1157, nil);
AudioServicesPlaySystemSound
将在以后的版本中弃用。请改用AudioServicesPlaySystemSoundWithCompletion
。
如果要模仿UIPickerView的声音和振动,还应该添加以下代码。
if (@available(iOS 10.0, *)) {
UIImpactFeedbackGenerator *impactFeedBack = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleLight];
[impactFeedBack prepare];
[impactFeedBack impactOccurred];
}
答案 1 :(得分:0)
您可以使用系统点击声音或保存它们并使用本地资源
// NSURL *fileURL = [NSURL URLWithString:@"/System/Library/Audio/UISounds/wheels_of_time.caf"]; // Too loud
// NSURL *fileURL = [NSURL URLWithString:@"/System/Library/Audio/UISounds/nano/TimerWheelHoursDetent_Haptic.caf"]; // Hours tick
SystemSoundID soundID;
NSURL *fileURL = [NSURL URLWithString:@"/System/Library/Audio/UISounds/nano/TimerWheelMinutesDetent_Haptic.caf"]; // Minutes tick
AudioServicesCreateSystemSoundID((__bridge_retained CFURLRef)fileURL, &soundID);
AudioServicesPlaySystemSound(soundID);
AudioServicesDisposeSystemSoundID(soundID);