モノタッチで開発中。1 つのデバイス (iOS 5.1.1) で SystemSound.PlaySystemSound() がサウンドを生成しません。音量チェック、消音等。他のアプリは音出ます。同じバージョンの iOS、アプリ、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 で、コンソールはサウンドが生成されていないときに「PLAYING WhitSound....」というメッセージを表示します。静的クラス変数であるため、WhitSound を収集するのは GC ではないと思います。ここで何が欠けていますか?
何かご意見は?