使用自定义频率和持续时间发出哔

Gio*_*rgi 3 audio macos cocoa monomac

我想在我的Mac Os X中播放Beep声音并指定持续时间和频率.在Windows上,可以使用Beep功能(Console.Beep in .Net)来完成.Mac中有什么相同的东西吗?我知道NSBeep但它没有采取任何参数.

Pet*_*sey 5

在Mac上,系统警报声是用户选择的采样(预先录制)声音.它通常听起来不像是一声嘟嘟声 - 它可能是一种声音,声音,声音或其他声音,它们不能作为固定形状,频率和振幅的简单恒定波形.它甚至可以记录用户的声音,或来自电视节目或电影或游戏或歌曲的剪辑.

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

因此,没有简单的方法来播放指定且恒定的形状,频率和振幅的自定义蜂鸣声.任何这样的蜂鸣声都会与用户选择的警报声音不同,并且根本不会被用户察觉.

要在Mac上播放警报声,请使用NSBeep或稍微复杂一些AudioServicesPlayAlertSound.后者允许您使用自定义声音,但即使这些也必须预先录制,或者至少使用比使用更多的Core Audio代码提前由您的应用生成.

我推荐使用NSBeep.它是尊重用户选择的一行代码.