如何以编程方式将音频添加到 Toast 通知?
How do I add audio programmatically to a Toast notification?
我有如下代码:
ToastNotifier ToastNotifier = ToastNotificationManager.CreateToastNotifier();
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);
XmlNodeList toastNodeList = toastXml.GetElementsByTagName("text");
toastNodeList.Item(0).AppendChild(toastXml.CreateTextNode(title));
toastNodeList.Item(1).AppendChild(toastXml.CreateTextNode(stringContent));
XmlElement audio = toastXml.CreateElement("audio");
audio.SetAttribute("src", "ms-winsoundevent:Notification.Alarm7");
audio.SetAttribute("loop", "false");
但是,使用以下方法进行测试:
toastXml.GetXml();
表明音频没有添加到 xml。我如何才能添加它。音频文档是 here .
如果您使用 Windows10,我们强烈建议您使用通知库。见official documentation showing how to add audio祝酒。
使用通知库,您的代码看起来更清晰
ToastContent toastContent = new ToastContent()
{
Visual = new ToastVisual()
{
},
Audio = new ToastAudio()
{
Src = new Uri("ms-appx:///Assets/Audio/CustomToastAudio.m4a")
};
};
但是如果您更喜欢手动使用 XML DOM,或者必须以 Windows 8 为目标,错误是您从未添加音频元素。 请参阅下面的最后一行。
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);
...
XmlElement audio = toastXml.CreateElement("audio");
audio.SetAttribute("src", "ms-winsoundevent:Notification.Alarm7");
audio.SetAttribute("loop", "false");
// Add the audio element
toastXml.DocumentElement.AppendChild(audio);
我有如下代码:
ToastNotifier ToastNotifier = ToastNotificationManager.CreateToastNotifier();
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);
XmlNodeList toastNodeList = toastXml.GetElementsByTagName("text");
toastNodeList.Item(0).AppendChild(toastXml.CreateTextNode(title));
toastNodeList.Item(1).AppendChild(toastXml.CreateTextNode(stringContent));
XmlElement audio = toastXml.CreateElement("audio");
audio.SetAttribute("src", "ms-winsoundevent:Notification.Alarm7");
audio.SetAttribute("loop", "false");
但是,使用以下方法进行测试:
toastXml.GetXml();
表明音频没有添加到 xml。我如何才能添加它。音频文档是 here .
如果您使用 Windows10,我们强烈建议您使用通知库。见official documentation showing how to add audio祝酒。
使用通知库,您的代码看起来更清晰
ToastContent toastContent = new ToastContent()
{
Visual = new ToastVisual()
{
},
Audio = new ToastAudio()
{
Src = new Uri("ms-appx:///Assets/Audio/CustomToastAudio.m4a")
};
};
但是如果您更喜欢手动使用 XML DOM,或者必须以 Windows 8 为目标,错误是您从未添加音频元素。 请参阅下面的最后一行。
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);
...
XmlElement audio = toastXml.CreateElement("audio");
audio.SetAttribute("src", "ms-winsoundevent:Notification.Alarm7");
audio.SetAttribute("loop", "false");
// Add the audio element
toastXml.DocumentElement.AppendChild(audio);