Windows8:如何在Toast通知中循环音频

本文关键字:通知 循环 音频 Toast Windows8 | 更新日期: 2023-09-27 18:25:22

在尝试Toast通知时,我遇到了一个烦人的小问题。如果我尝试将音频设置为循环,通知将不会播放任何声音。使用非循环声音会很好。我正在使用MSDN网站上的代码,如下所示:

  ...
  IXmlNode toastNode = toastDoc.SelectSingleNode("/toast");
  ((XmlElement)toastNode).SetAttribute("duration", "long");
  XmlElement audio = toastDoc.CreateElement("audio");
  audio.SetAttribute("src", "ms-winsoundevent:Notification.Looping.Alarm2");
  audio.SetAttribute("loop", "true");
  toastNode.AppendChild(audio);
  ...

如果我将"loop"属性设置为true,它就不会播放声音。我尝试手动将"静音"设置为"false",并从此处列出的不同声音选项中进行选择:http://msdn.microsoft.com/en-us/library/windows/apps/hh761492.aspx

我已经确认吐司持续了25秒(根据长持续时间的规定),我已经尝试重新排序音频属性,但都没有成功。有人能告诉我这里到底发生了什么事吗?

Windows8:如何在Toast通知中循环音频

因此,toast音频运行良好。诚然,实际问题很奇怪。经过大量挖掘,我发现循环中使用的警报/呼叫/文件在我的机器上都是静音的,即它们中没有音频。这看起来真的很奇怪,因为它们来自操作系统安装程序。经过更多的调查,我发现我的每台安装了N版Windows 8的机器(我有两台)都有这些静默文件。我的其他机器有正常版本,它们有实际产生音频的文件。到目前为止,我已经通过更改"c:''windows/media"目录的权限(这是我不喜欢做的事情)并手动复制真实文件来解决这个问题。我计划向Connect提交一份报告,如果我发现一种不那么痛苦的方法来解决这个问题,我会发布新的材料。

更新
从MS安装媒体功能包将解决此问题。C:''windows''媒体中的报警*.wav和呼叫*.wav音频文件将包含音频内容。在我看来,这是因为我没有安装媒体播放器是有原因的,现在我的N版客户可能会遇到一个似乎是错误的东西。