macos - 具有自定义频率和持续时间的蜂鸣声

标签 macos cocoa audio monomac

我想在 Mac Os X 中播放蜂鸣声并指定持续时间和频率。在 Windows 上,可以使用 Beep function 来完成(.Net 中的 Console.Beep)。 Mac 中有类似的东西吗?我知道 NSBeep 但它不带任何参数。

最佳答案

在 Mac 上,系统警报声音是用户选择的采样(预先录制)声音。它听起来通常不像嘟嘟声,可能是喇叭声、重击声、刺耳声或其他声音,不能是具有固定形状、频率和幅度的简单恒定波形。它甚至可以是用户语音的录音,或者电视节目、电影、游戏或歌曲的剪辑。

它也不必只是声音。辅助功能选项之一是在播放警报声音时使屏幕闪烁;当您播放警报声音(或自定义警报声音)时,这种情况会自动发生,但当您通过常规声音播放 API(例如 NSSound)播放声音时,这种情况不会发生。

因此,没有简单的方法来播放指定且恒定形状、频率和幅度的自定义蜂鸣声。任何此类蜂鸣声都将不同于用户选择的警报声音,并且用户可能根本察觉不到。

要在 Mac 上播放警报声音,请使用 NSBeep 或稍微复杂一点的 AudioServicesPlayAlertSound。后者允许您使用自定义声音,但即使这些也必须预先录制,或者至少由您的应用程序使用比值得编写的更多核心音频代码提前生成。

我建议使用NSBeep。一行代码就尊重了用户的选择。

关于macos - 具有自定义频率和持续时间的蜂鸣声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15822318/

相关文章:

java - java音频文件位置

android - 在屏幕锁定/唤醒期间遇到 Android 音频卡顿

ios - SwiftUI 如何更改 keyUp macOS 事件的状态?

objective-c - 围绕中心旋转 NSView

swift - 菜单栏应用程序中的 OS X 键事件 (Swift)

cocoa - 为什么只有某些操作才必须调用 setTarget?

macos - 无法使用 brew 安装 boost 1.59

macos - 什么是计算鼠标点击点的正确方法

iphone - 在 Objective-C 中访问实例属性的最佳实践?

html - 如何隐藏嵌入式音频文件,以免从开发工具中看到和下载它们?