应用通知可以使用自定义音频,使你的应用能够表达品牌的独特声音效果。 例如,消息应用可以在应用通知上使用自己的消息传递声音,以便用户可以立即知道他们从应用收到通知,而不是听到通用通知声音。
安装 UWP 社区工具包 NuGet 包
为了通过代码创建通知,我们强烈建议使用 UWP 社区工具包通知库,该库为通知 XML 内容提供对象模型。 可以手动构造通知 XML,但这是容易出错且混乱的。 UWP 社区工具包内的通知库由拥有Microsoft通知的团队构建和维护。
在 NuGet 中安装 Microsoft.Toolkit.Uwp.Notifications。
添加命名空间声明
using Microsoft.Toolkit.Uwp.Notifications;
添加自定义音频
Windows Mobile 始终支持 Toast 通知中的自定义音频。 但是,桌面版仅在版本 1511(构建 10586)中添加了对自定义音频的支持。 如果在 1511 版之前将包含自定义音频的 Toast 发送到台式设备,则 Toast 将静音。 因此,对于桌面 1511 版本之前的版本,不应在 Toast 通知中包含自定义音频,以便通知至少使用默认通知声音。
已知问题:如果您使用的是桌面版 1511,只有当应用通过应用商店安装时,自定义通知音频才会起作用。 这意味着,在提交到应用商店之前,无法在桌面上本地测试自定义音频,但从应用商店安装后,音频将正常工作。 我们在周年更新中修复了此问题,以便本地部署应用中的自定义音频能够正常工作。
var contentBuilder = new ToastContentBuilder()
.AddText("New message");
bool supportsCustomAudio = true;
// If we're running on Desktop before Version 1511, do NOT include custom audio
// since it was not supported until Version 1511, and would result in a silent toast.
if (AnalyticsInfo.VersionInfo.DeviceFamily.Equals("Windows.Desktop")
&& !ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 2))
{
supportsCustomAudio = false;
}
if (supportsCustomAudio)
{
contentBuilder.AddAudio(new Uri("ms-appx:///Assets/Audio/CustomToastAudio.m4a"));
}
// Send the toast
contentBuilder.Show();
支持的音频文件类型包括:
- .aac
- .flac
- .m4a
- .mp3
- .wav
- .wma
支持的音频文件源:
- ms-appx:///
- ms-resource
不支持的音频文件源:
- ms-appdata
- http://,https://
- C:/、F:/等。
发送通知
使用音频发送通知与发送常规通知相同(只需调用 Show 方法)。 了解更多信息,请参阅 发送本地通知。