当Finder完成文件复制时,它会触发声音警报。我怎么能从我的应用程序中做到这一点?
请注意,它与简单播放声音不同。我来自Windows背景,因此我假设OSX允许用户从某个中心位置配置通知声音。因此,如果用户为事件选择不同的声音,那么该API应该播放该新声音。通过这种方式,我可以将我的应用程序凝胶化到系统中,并且可以使用用户熟悉的声音提醒用户。
答案 0 :(得分:6)
回答我自己的问题。
<强>更新强>
附加说明
系统警报是用户可以配置的警报,其他警报是清空回收站,复制文件时发出的声音不是。
NSBeep
是触发警报声音的最简单方法,它会通知用户错误。其他声音可在Lion的以下位置获得。
/System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds
Resources
文件夹。这些应用程序包可以在/System/Library/CoreServices/
。因此,例如,如果您想播放回收bin声音,请使用以下代码。
NSSound *systemSound = [[NSSound alloc] initWithContentsOfFile:@"/System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/dock/drag to trash.aif" byReference:YES];
if (systemSound) {
[systemSound play];
}
的注意事项强> 的
声音文件的名称和路径可能随时更改。事实上,Lion之前SystemSounds
的位置为/System/Library/Components/CoreAudio.component/Contents/Resources/SystemSounds
。
答案 1 :(得分:4)
答案 2 :(得分:2)
NSSound(named: "Funk")?.play()