[UWP] WinRT BackgroundAudio 的行為 (一)

  • 185
  • 0
  • 2016-09-22

目前正在用 UWP 用 BackgroundAudio 來撥音樂遇到的一些狀況

UWP 時代開啟,背景播放音樂的機制沒有承襲 Windows Store 8.1 的方便方式(把 MediaElement 一個屬性設定就好了)
而是承襲 Windows Phone 的路子,就是要開一個 BackgroundTask!

所以第一個問題就是前景、背景的狀態要同步的問題,要透過 "另類IPC" 的方式讓前景背景溝通,雖然發送訊息方式還算方便...
所以當你的背景需要等前景的互動才能做事的時候還真的想了一下,有種寫 Request / Respone 的感覺,不過主角是  App 和它自己的 BackgroundTask

等到解決這狀問題後,在測試時候,看了 Log 檔案,才發現奇怪... 怎麼明明應該 Suspend 的 App,它的 Log 還會一直長大,叫了工作管理員出來看之後才發現

竟然每 15秒 就會 resume 一次

竟然每 15秒 就會 resume 一次

竟然每 15秒 就會 resume 一次

為什麼你不乖乖的睡覺呢?Orz

一開始以為是自己的程式寫了什麼造成這種狀況,但後來跑了微軟的 BackgroundAudio 的 sample 也是一樣的狀況,我說這真的 不知道是 Bug 還是 Feature 了 ="=
看樣子,這下要避免如果太頻繁 Resume / Suspend  會有的狀況...

另外本來想要在 Background 發 ToastNotification ,之前發現如果 App 沒有 Suspend 的話是發不出來的(Output 視窗會有例外訊息)
我暈~ 搞我就對了 Orz

以上是 BackgroundAudio 遇到的怪異狀況,筆記一下