在 Monotouch 中开发。在一台设备上 (iOS 5.1.1) SystemSound.PlaySystemSound() 不会产生声音。检查音量、静音等。其他应用程序会发出声音。运行相同版本的 iOS、app、sdk 等的其他测试设备听起来还不错。
这是我的代码。
开始时
AudioSession.Initialize();
AudioSession.Category = MonoTouch.AudioToolbox.AudioSessionCategory.MediaPlayback;
AudioSession.SetActive(true);
这是调用 PlaySystemSound 的代码
static SystemSound WhitSound=null;
public static void PlayWhit()
{
int _mute=NSUserDefaults.StandardUserDefaults.IntForKey("mute");
if(WhitSound==null)
{
WhitSound=SystemSound.FromFile(new NSUrl("Images/whit.aiff"));
Console.WriteLine("WhitSound = "+WhitSound+" _mute="+_mute);
}
if(WhitSound!=null && _mute == 0)
{
Console.WriteLine("PLAYING WhitSound....");
WhitSound.PlaySystemSound();
}
}
此 _mute 变量为 0,并且控制台显示“正在播放 WhitSound....”消息,而没有发出声音。我认为收集 WhitSound 的不是 GC,因为它是一个静态类变量。我在这里缺少什么?
有什么想法吗?