更改Windows Phone 8.1应用程序开发的默认烤面包通知声音

时间:2015-08-04 11:22:02

标签: c# windows-phone-8.1

我正在使用以下代码为Windows Phone 8.1应用实施Toast通知。我必须将默认声音更改为Assets文件夹中的声音。有人可以帮帮我吗?

ToastTemplateType toastType = ToastTemplateType.ToastText02;

                XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastType);

                XmlNodeList toastTextElement = toastXml.GetElementsByTagName("text");

                toastTextElement[0].AppendChild(toastXml.CreateTextNode("WeCare says: "));
                toastTextElement[1].AppendChild(toastXml.CreateTextNode(initialTime + " seconds left"));

                IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
                XmlElement audio = toastXml.CreateElement("audio");
                // audio.SetAttribute("src", "/Assets/N.mp3");
                ((XmlElement)toastNode).SetAttribute("duration", "long");

                //((XmlElement)toastNode).SetAttribute("loop", "true");

                ToastNotification toast = new ToastNotification(toastXml);
                ToastNotificationManager.CreateToastNotifier().Show(toast);

1 个答案:

答案 0 :(得分:0)

确保您在XML中指定的文件存储在正确的位置。带声音的Toast仅适用于Windows Phone 8 Update 3及更高版本。还要确保声音文件长度不超过10秒。

请参阅此示例here

确保您使用正确的xml格式进行Toast通知

passport.serializeUser(function(user, done) {
  done(null, user.id);
});

passport.deserializeUser(function(id, done) {
   User.findOne({_id: id}, {actions: 0}, function(err, user) {
    console.log(err);

    // output user
    console.log(user.toJSON());

    // get user object
    done(err, user);
   });
});