当Finder完成文件复制时,它会触发声音警报.我怎么能从我的应用程序那样做?
请注意,它与简单播放声音不同.我来自Windows背景,因此我假设OSX允许用户从某个中心位置配置通知声音.因此,如果用户为事件选择不同的声音,那么该API应该播放该新声音.通过这种方式,我可以将应用程序凝胶化到系统中,并且可以使用用户熟悉的声音提醒用户.
回答我自己的问题.
更新
补充说明
系统警报是用户可以配置的警报,其他人如清空回收站,复制文件时发出的声音不是.
NSBeep是触发警报声音的最简单方法,通知用户错误.其他声音可在Lion的以下位置获得.
/System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSoundsResources核心应用程序的相关包下的文件夹.这些应用程序包可以在中找到/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];
}
Run Code Online (Sandbox Code Playgroud)
注意事项
声音文件的名称和路径可能随时更改.事实上SystemSounds狮子之前的位置/System/Library/Components/CoreAudio.component/Contents/Resources/SystemSounds.
| 归档时间: |
|
| 查看次数: |
2674 次 |
| 最近记录: |