我似乎无法在互联网上找到任何关于它的内容..
我需要在特定事件上触发铃声(稍后可由用户选择),但现在只需播放铃声(或音乐)即可。
答案 0 :(得分:2)
没有SDK API可以在iOS上播放铃声,但您可以播放本地文件。您是否看过Xamarin教程Playing Sound with AVAudioPlayer
这样可以播放本地文件:
// Initialize background music
songURL = new NSUrl("Sounds/"+filename);
NSError err;
backgroundMusic = new AVAudioPlayer (songURL, "wav", out err);
backgroundMusic.Volume = MusicVolume;
backgroundMusic.FinishedPlaying += delegate {
backgroundMusic = null;
};
backgroundMusic.NumberOfLoops=-1;
backgroundMusic.Play();
backgroundSong=filename;
如果是消息声音(≤30秒),而不是铃声,您可以尝试使用AudioServicesPlaySystemSound
以下是所有system sound Ids的列表,也是此GitHub的列表。 1007是标准的Tri-Tone通知声音。
AudioServicesPlaySystemSound(1003);
在使用AudioServicesPlaySystemSound
时,有一些关于您的应用被拒绝的说法,但我看不出任何可靠的证据,这里是Apple的示例代码,可以播放system sound
iOS SDK不捆绑这些声音文件,但它们位于/System/Library/Audio/UISounds/
文件夹中的设备上。铃声位于此/Library/Ringtones/
有人提到这些是受版权保护的,所以如果你将它们捆绑在你的应用中,那么要小心。
然后播放声音:
var s = new SystemSound (soundId);
s.PlayAlertSound ();
小心
捆绑来自Apple的受版权保护的声音可能会导致您的应用被拒绝