Windows ストア アプリの要件の 1 つは、サスペンドをサポートすることです。私のアプリはバックグラウンド オーディオ タスクとしてマークされているため、そのままにしておくと一時停止しませんが、オーディオが一時停止すると一時停止するはずです。
サスペンドできるかどうかを「Windowsに伝える」方法がわかりません。バックグラウンド オーディオ アプリケーションがパッケージの検証に合格するにはどうすればよいですか?
Windows ストア アプリの要件の 1 つは、サスペンドをサポートすることです。私のアプリはバックグラウンド オーディオ タスクとしてマークされているため、そのままにしておくと一時停止しませんが、オーディオが一時停止すると一時停止するはずです。
サスペンドできるかどうかを「Windowsに伝える」方法がわかりません。バックグラウンド オーディオ アプリケーションがパッケージの検証に合格するにはどうすればよいですか?
バックグラウンド オーディオを有効にするには、メディア コントロール ボタン イベントのハンドラーを登録する必要があります。これらは Windows.Media.MediaControl クラスにあり、具体的には PlayPressed、PausePressed、PlayPausePressed (一部のハードウェアには両方のボタンが 1 つあります)、および StopPressed です。これらのハンドラーがない場合、バックグラウンド オーディオは機能しません。ハンドラーを使用すると、Windows はオーディオが一時停止されたことを認識し、ユーザーを一時停止できるようになります。さいわい、Play[Pause]Pressed ハンドラーのおかげで、再生が再開されたときに Windows もアプリを再開します。
これらのイベントは、ハードウェア ボタンと画面上のボタンの両方で機能します。
再生中のトラックが複数ある場合は、NextTrackPressed および PrevTrackPressed のハンドラーを登録して、ここで進む/戻るボタンを有効にするかどうかを制御します。MediaControl クラスの AlbumArt、TrackName、および ArtistName フィールドは、上記のメディア コントロール UI でデータを設定するためにも使用されます。
私は最近、同じバックグラウンド オーディオ タスクをサポートする Windows ストア アプリ (オンライン ラジオ アプリ) に取り組んでいましたが、WACK に失敗し続けました。バックグラウンド オーディオの MediaElement を AutoPlay = true に設定できないことがわかりました。そうしないと、サスペンド テストに何度も失敗します。
これ (およびその他のいくつかのヒント) は、この便利でありながら十分に公開されていないヒントのリストにあります。アプリ