[Windows通用应用开发]Toast通知(二)——Toast音效

来源:互联网 发布:nginx 外网ip无法访问 编辑:程序博客网 时间:2024/05/18 03:08

本系列文章:
[Windows通用应用开发]Toast通知(一)——Toast实现
[Windows通用应用开发]Toast通知(二)——Toast音效
[Windows通用应用开发]Toast通知(三)——定时Toast


Toast音效

音效模板可参考Microsoft提供的帮助文档
在未设置的默认情况下,播放的音效模板为Notification.Default

在Windows Phone 8.1中仅支持5种非循环的音效。

Notification.Default
在下列情况下播放的声音:
当它被显式指定时
当没有指定其他音频选项时
当指定了无效的音频选项时
当没有其他音频选项适合你的方案时
Notification.IM
应用场景:收到一条新的即时消息通知。
Notification.Mail
方案:收到一封新的电子邮件。
Notification.Reminder
方案:一个日历项到期。
Notification.SMS
方案:收到一条新的文本消息。

在Windows 10 for Phone和Windows应用商店应用中增加了多种循环音效的支持。

1. 将音效更改为Notification.IM

XML如下:

 <audio src="ms-winsoundevent:Notification.IM" loop="false"/>

相应的C#代码如下:

var node = content.SelectSingleNode("/toast");var audio = content.CreateElement("audio");audio.SetAttribute("src", "ms-winsoundevent:Notification.IM");audio.SetAttribute("loop", "false");node.AppendChild(audio);

2. 禁止音效

禁止音效的XML如下:

<audio silent="true"/>

相应的C#代码如下:

var node = content.SelectSingleNode("/toast");var audio = content.CreateElement("audio");audio.SetAttribute("silent", "true");node.AppendChild(audio);

3. 将音效更改为循环的Notification.Looping.Call

XML如下:

 <toast duration="long">     <audio src="ms-winsoundevent:Notification.Call" loop="true"/> </toast>

相应的C#代码如下:

var node = content.SelectSingleNode("/toast");((XmlElement)node).SetAttribute("duration", "long");var audio = content.CreateElement("audio");audio.SetAttribute("src", "ms-winsoundevent:Notification.Looping.Call");audio.SetAttribute("loop", "true");node.AppendChild(audio);

所有代码均通过Windows 10 Mobile和Windows 10真机调试

0 0
原创粉丝点击