在 iOS 13 播放系统声音
Play system sound in iOS 13
我以前可以使用下面的代码播放系统音频文件。这在 iOS 13 中不适用于新旧应用程序。
import AudioToolbox
import AVFoundation
...
func tock() {
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category(rawValue: convertFromAVAudioSessionCategory(AVAudioSession.Category.ambient)))
var myAlertSound: SystemSoundID = 0
let url: URL = URL(string: "/System/Library/Audio/UISounds/Tock.caf")!
AudioServicesCreateSystemSoundID( (url) as CFURL, &myAlertSound)
AudioServicesPlaySystemSound(myAlertSound)
} catch {
print("Error in audio feedback")
}
}
// Helper function inserted by Swift 4.2 migrator.
private func convertFromAVAudioSessionCategory(_ input: AVAudioSession.Category) -> String {
return input.rawValue
}
我也没有看到 "Error in audio feedback" 印刷品。
有没有办法在 iOS13 中播放简单的声音?
这有效:
AudioServicesPlaySystemSound(SystemSoundID(1104))
此处提供所有系统声音的列表:https://github.com/TUNER88/iOSSystemSoundsLibrary
我以前可以使用下面的代码播放系统音频文件。这在 iOS 13 中不适用于新旧应用程序。
import AudioToolbox
import AVFoundation
...
func tock() {
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category(rawValue: convertFromAVAudioSessionCategory(AVAudioSession.Category.ambient)))
var myAlertSound: SystemSoundID = 0
let url: URL = URL(string: "/System/Library/Audio/UISounds/Tock.caf")!
AudioServicesCreateSystemSoundID( (url) as CFURL, &myAlertSound)
AudioServicesPlaySystemSound(myAlertSound)
} catch {
print("Error in audio feedback")
}
}
// Helper function inserted by Swift 4.2 migrator.
private func convertFromAVAudioSessionCategory(_ input: AVAudioSession.Category) -> String {
return input.rawValue
}
我也没有看到 "Error in audio feedback" 印刷品。
有没有办法在 iOS13 中播放简单的声音?
这有效:
AudioServicesPlaySystemSound(SystemSoundID(1104))
此处提供所有系统声音的列表:https://github.com/TUNER88/iOSSystemSoundsLibrary