0

在尝试 Toast Notifications 时,我遇到了一个烦人的小问题。如果我尝试将音频设置为循环播放,则通知根本不会播放任何声音。使用非循环声音就可以了。我正在使用来自 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);
  ...

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

我已经确认 toast 持续了 25 秒(由长持续时间指定)并且我尝试重新排序音频属性,但都无济于事。谁能告诉我这里到底发生了什么?

4

1 回答 1

0

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

更新
从 MS 安装媒体功能包将解决此问题。C:\windows\media 中的 Alarm*.wav 和 Call*.wav 音频文件将包含可听内容。我认为这种咬伤是因为我没有安装媒体播放器是有原因的,现在我的 N-Edition 客户可能会遇到似乎是错误的问题。

于 2013-07-30T02:26:24.793 回答