2015年11月19日木曜日

メモ:最小化した際の動作

最小化して時間を置いた後アクティブ化するとWindows.UI.Xaml.Controls.Pageが開き直される
通常意識する必要はないが場合によってはバグの元になる可能性があるので注意

2015年11月8日日曜日

Windows.UI.Xaml.Controls.MediaElementを使用して再生した時、最小化すると再生停止する

原因
元々の仕様

解決方法
MediaElement.AudioCategoryにBackgroundCapableMediaを指定した後
どこでもいいので以下のコードを書く
var smtc = Windows.Media.SystemMediaTransportControls.GetForCurrentView();
smtc.IsPlayEnabled = true;
smtc.IsPauseEnabled = true;
smtc.IsStopEnabled = true;
最後にマニフェストでバックグラウンドタスクをオーディオで宣言する

ただしこの方法ではモバイルデバイスで停止してしまうかも
詳細はこちら
http://stackoverflow.com/questions/28185424/windows-store-apps-playing-background-audio-with-mediaelement

参考資料
https://msdn.microsoft.com/ja-jp/library/windows/apps/windows.ui.xaml.controls.mediaelement.audiocategory