gpt4 book ai didi

cocoa - 如何使用 Cocoa 在 OSX 中触发声音警报?

转载 作者:行者123 更新时间:2023-12-03 16:10:19 24 4
gpt4 key购买 nike

当 Finder 完成文件复制时,它会触发声音警报。我怎样才能从我的应用程序中做到这一点?

请注意,这与简单地播放声音不同。我来自 Windows 背景,所以我假设 OSX 允许用户从某个中央位置配置通知声音。因此,如果用户为某个事件选择不同的声音,那么该 API 应该播放该新声音。这样我就可以将我的应用程序融入到系统中,并且它将能够使用用户熟悉的声音来提醒用户。

最佳答案

回答我自己的问题。

更新

附加注释

系统警报是用户可以配置的警报,其他如清空回收站、复制文件时发出的声音则不能。

NSBeep 是触发警报声音以通知用户错误的最简单方法。 Lion 中的以下位置提供了其他声音。

  • /System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds
  • 对于其他用户界面声音,请检查核心应用程序相关包下的Resources文件夹。这些应用程序包可以在 /System/Library/CoreServices/ 中找到。

因此,例如,如果您想播放移动到回收站的声音,请使用以下代码。

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

关于cocoa - 如何使用 Cocoa 在 OSX 中触发声音警报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9157842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com