次の方法で共有


アプリ通知のカスタム オーディオ

アプリ通知ではカスタム オーディオを使用できます。これにより、アプリはブランド固有のサウンド エフェクトを表現できます。 たとえば、メッセージング アプリでは、アプリの通知で独自のメッセージング サウンドを使用できるため、ユーザーは一般的な通知音を聞くのではなく、アプリから通知を受信したことをすぐに知ることができます。

UWP Community Toolkit NuGet パッケージをインストールする

コードを使用して通知を作成するには、通知 XML コンテンツのオブジェクト モデルを提供する UWP Community Toolkit Notifications ライブラリを使用することを強くお勧めします。 通知 XML は手動で作成できますが、エラーが発生しやすく乱雑です。 UWP Community Toolkit 内の通知ライブラリは、Microsoft で通知を所有するチームによって構築および管理されています。

NuGet から Microsoft.Toolkit.Uwp.Notifications をインストールします。

名前空間宣言を追加する

using Microsoft.Toolkit.Uwp.Notifications;

カスタム オーディオを追加する

Windows Mobile では、トースト通知でカスタム オーディオが常にサポートされています。 ただし、デスクトップでは、バージョン 1511 (ビルド 10586) でのカスタム オーディオのサポートのみが追加されました。 バージョン 1511 より前のデスクトップ デバイスにカスタム オーディオを含むトーストを送信すると、トーストはサイレントになります。 そのため、Desktop バージョン 1511 より前のバージョンでは、トースト通知にカスタム オーディオを含めないようにし、通知で少なくとも既定の通知音が使用されるようにする必要があります。

既知の問題: デスクトップ バージョン 1511 を使用している場合、カスタム トースト オーディオは、アプリがストア経由でインストールされている場合にのみ機能します。 つまり、ストアに提出する前にデスクトップでカスタム オーディオをローカルでテストすることはできませんが、ストアからインストールするとオーディオは正常に動作します。 Anniversary Update でこれを修正し、ローカルにデプロイされたアプリからのカスタム オーディオが正しく機能するようにしました。

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 メソッドを呼び出すだけです)。 詳細については、「 ローカル トーストを送信 する」を参照してください。