我在使用自定义声音发送带有Windows Phone 8.1的Toast时遇到了麻烦。我按照MSDN说明更改了Toast通知模板。我正在尝试录制声音,然后在将其保存到本地存储后添加到XML的toast主体。这是一段代码:
ToastTemplateType toastTemplate = ToastTemplateType.ToastText02;
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate);
XmlNodeList toastTextElements = toastXml.GetElementsByTagName("text");
toastTextElements[0].AppendChild(toastXml.CreateTextNode(titlebox.Text));
toastTextElements[1].AppendChild(toastXml.CreateTextNode(mainMsgbox.Text));
IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
XmlElement audio = toastXml.CreateElement("audio");
if(sound!=null)
audio.SetAttribute("src", "ms-appdata:///local/"+sound.Name);
else
audio.SetAttribute("src", "ms-appx:///sounds/Bell.mp3");
toastNode.AppendChild(audio);
另外,我必须提一下,我使用 1秒持续时间以 wav 格式创建音频。我尝试了Path.Combine(ApplicationData.Current.LocalFolder.Path, sound.Name)
,Path.Combine(ApplicationData.Current.LocalFolder.Name, sound.Name)
这样的方法,或者只是通过指定sound.Path
,但没有运气。不用说,ms-appdata:///local/
和ms-appdata:///
不起作用。有任何想法吗? Windows Phone 8.1是否可以播放本地存储的通知声音?
编辑:找到此链接:https://social.msdn.microsoft.com/Forums/en-US/25a6dc52-4bbb-41d7-ad14-8dc915edd783/how-to-use-temporary-files-on-tilestoasts?forum=winappswithcsharp。所以,uri ms-appdata:///
有效。但那个案子是针对图像的。音频文件仍然没有运气:c