如何在Windows手机中停止铃声默认设置

时间:2013-05-09 09:04:21

标签: c# windows-phone-7 windows-phone-8 ringtone

我在通知发出时尝试为警告用户播放铃声。我想要实现的是铃声可以由用户播放而不是default ringtone

我成功创建了listboxlistbox内的铃声可以在前台播放。但是在后台运行时,default ringtone将首先发出警报,用户的铃声播放将不会显示。这就是我遇到的问题。

发现异常:类型' System.IO.EndOfStreamException'发生在mscorlib.ni.dll中,并且未在托管/本地边界之前处理

如何停止 default ringtone ,以便我可以在后台播放用户选择的铃声?

任何帮助和建议将不胜感激。谢谢。

scheduleTaskAgent.cs

 var stream = TitleContainer.OpenStream("Sound/" + Ringtone);
 // I using isolatedstorage to store the ringtone name and shared to scheduleTaskAgent.cs

 var effect = SoundEffect.FromStream(stream);
 FrameworkDispatcher.Update();
 effect.Play();

 ToastHelper.ShowToast("Monitor:", "You have " + read2 + " Invoice!!", null);
 testVibrateControl.Start(TimeSpan.FromSeconds(3));
 testVibrateControl.Stop();

1 个答案:

答案 0 :(得分:1)

对于标准操作系统通知,您仅限于系统声音 - 您无法更改它,也无法禁用它。但是,如果在内部使用警报,您可能需要查看ToastPrompt中的Coding4Fun Toolkit控件 - 一旦显示,就播放声音。

此外,您的播放代码应如下所示:

SoundEffectInstance currentSI;
using (var stream = TitleContainer.OpenStream("PATH"))
{
    var effect = SoundEffect.FromStream(stream);
    currentSI = effect.CreateInstance();
    FrameworkDispatcher.Update();
    currentSI.Play();
}