应用通知上的自定义音频

应用通知可以使用自定义音频,使你的应用能够表达品牌的独特声音效果。 例如,消息应用可以在应用通知上使用自己的消息传递声音,以便用户可以立即知道他们从应用收到通知,而不是听到通用通知声音。

安装 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 方法)。 了解更多信息,请参阅 发送本地通知