C、Objective - C与Swift的交互与差异
1. 系统声音播放函数定义
在编程中,若要单独定义一个函数,它必须是一个纯粹的函数,而不能是方法。在文件顶层定义的函数是可行的,在函数内部局部定义的函数同样可行。
下面是一个在文件顶层声明的 AudioServicesSystemSoundCompletionProc 函数:
func soundFinished(_ snd:UInt32, _ c:UnsafeMutableRawPointer?) {
AudioServicesRemoveSystemSoundCompletion(snd)
AudioServicesDisposeSystemSoundID(snd)
}
以下是将声音文件作为系统声音播放的代码,其中包含对 AudioServicesAddSystemSoundCompletion 的调用:
let sndurl = Bundle.main.url(forResource: "test", withExtension: "aif")!
var snd : SystemSoundID = 0
AudioServicesCreateSystemSoundID(sndurl as CFURL, &snd)
AudioServicesAddSystemSoundCompletion(snd, nil, nil, soundFinished, nil)
Aud
超级会员免费看
订阅专栏 解锁全文
10

被折叠的 条评论
为什么被折叠?



