Поделиться через


Пользовательские звуковые элементы

Всплывающие уведомления могут использовать настраиваемый звук, который позволяет приложению выразить уникальные звуковые эффекты вашего бренда. Например, приложение обмена сообщениями может использовать собственный звук обмена сообщениями на уведомлениях toast, чтобы пользователь мгновенно знал, что он получил уведомление от приложения, а не услышит универсальный звук уведомления.

Установка пакета NuGet набора средств сообщества UWP

Чтобы создавать уведомления с помощью кода, настоятельно рекомендуется использовать библиотеку уведомлений средств сообщества UWP, которая предоставляет объектную модель для содержимого XML уведомления. Вы можете вручную создать XML-код уведомления, но это подвержено ошибкам и беспорядочно. Библиотека уведомлений в средстве сообщества UWP создана и поддерживается командой, которая владеет уведомлениями в Корпорации Майкрософт.

Установите Microsoft.Toolkit.Uwp.Notifications из NuGet.

Добавление объявлений пространств имен

using Microsoft.Toolkit.Uwp.Notifications;

Добавление пользовательского звука

Windows Mobile всегда поддерживает пользовательский звук в уведомлениях Toast. Тем не менее, Desktop добавил поддержку только для пользовательского звука в версии 1511 (сборка 10586). Если вы отправляете всплывающее сообщение с пользовательским звуком на классическое устройство до версии 1511, то всплывающее уведомление будет молчать. Таким образом, для классической предварительной версии 1511 не следует включать настраиваемый звук в всплывающее уведомление, чтобы уведомление по крайней мере использовало звук уведомления по умолчанию.

Известная проблема: если вы используете классическую версию 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). Дополнительные сведения см. в статье "Отправка локального всплывающего уведомления ".