如何播放系统快门声?

时间:2015-08-20 16:15:58

标签: ios xamarin xamarin.ios

在Swift中我会称这种方法为:

AudioServicesPlaySystemSound(1108)

据说我可以使用SystemSound类播放系统声音,但我没有看到指定ID的方法。我怎么能在Xamarin中做到这一点?

2 个答案:

答案 0 :(得分:0)

我相信您必须自己导入声音,因为SysSound class使用项目中的本地声音而不是iOS附带的声音。您可以按照本指南here进行操作。

我无法在App Store指南中找到任何关于间接使用Apple声音的指南(通过将它们导入到您的项目中),但我猜测它是不允许的并且会导致拒绝。因此,您可能最好在其他地方找到类似的相机快门声音,然后将其与SysSound class

一起使用

答案 1 :(得分:0)

您有几个选择:

使用P / Invoke手动调用方法,如下所示:

[DllImport (Constants.AudioToolboxLibrary)]
static extern void AudioServicesPlaySystemSound(uint inSystemSoundID);

传递身份证;也就是说,Apple没有记录这些数字,因此声音可能会在不同版本之间发生变化,具体取决于它们的注册顺序。您可能想要使用:

var sound = SystemSound.FromFile ("/System/Library/Audio/UISounds/photoShutter.caf");
sound.PlaySystemSound ()