繼續來看看有什麼功能可以測試,先來看 AudioFocus 的測試,模擬其它 App 發出 AudioFocus 時,受測的 App 有什麼反應。AudioFocus 可以複習這天的內容(播放器架構實作 (4) - ExoPlayer 設定實作),但這邊並不是我們自己實作的,是使用的 ExoPlayer 內實作好的方式,我們就來看看 ExoPlayer 實作出來出來的結果是什麼吧。
這邊的測試有三個選項,點擊後結果為:
操作方式如下,要先讓音樂 App 播歌,選擇 GAIN 這個選項,再點擊 GAIN,觀察音樂 App 的反應:
再來測試播放來源的支援性,這邊有三種選擇:
往右滑可以測試 TransportControl,可以測試上下一首、播放、暫停、往前/往後快轉、Repeat mode、Shuffle mode。
看完 control 裡面的內容,接著來看 test 按鈕點開的頁面,可以看到目前的播放狀態是暫停,還有一些支援播放的行為。
往下滑可以看到正在播放歌曲的相關資訊,就是在程式內所設定的播放位置、歌曲名稱、歌手名稱、長度、專輯封面的位置,拿來當作開發時 debug 的用途也是不錯,就不用特別用 log 的方式印出來。
Queue 就是目前要播放的歌曲,可以看到裡面有十首歌,開啟 Shuffle 時,就可以看到 Shuffle 後的順序會變動,在要實作目前播放歌曲頁面的功能時,就可以拿來使用。
再來的功能比較像 auto test,點擊測項的按鈕,綠燈就代表通過,點擊 Play From Search Test,因為沒有實作,就是紅燈的。
關於這個測試的 App 功能也介紹的差不多了,從一開始的能連線上播音樂服務(MediaBrowserService),確認播放基本功能,AudioFocus 的處理,PlayBack State 和 MetaData 的資料內容、Repeat mode 和 Shuffle mode 的內容,還有目前正在播放整個歌單的歌曲,都可以透過這個 App 來測試。