將媒體應用程式擴充至 Wear OS

Wear OS 是 Android 使用者隨時隨地聆聽各種音訊內容 (例如有聲書、音樂、Podcast 和廣播電台) 的絕佳平台。Wear OS by Google 可讓您為各種類別編寫應用程式,包括音訊內容,協助使用者保持連線、維持健康,以及表達自我。

如果您曾經開發過 Android 應用程式,可能會對應用程式和通知等功能非常熟悉。開發 Wear OS 應用程式時,您可以運用 Modern Android Development 的相關知識。

Wear OS 開發原則

Wear OS 是以 Android 做為建構基礎,因此許多 Android 最佳做法也適用於 Wear OS。如要盡可能縮短開發時間,請詳閱 原則 Wear OS 應用程式。

在 Wear OS 上建立並執行應用程式

如要開始使用,最好的方法就是查看適合自己的 Wear OS 應用程式!例如 建立第一個 Wear OS 版應用程式 (使用 Android Studio 的範本)。應用程式 展示多種在 Wear OS 裝置上快速查看資訊的方式。 並介紹在平台上開發應用程式的一些最佳做法

如需逐步操作說明,請參閱「在 Wear OS 上建立並執行應用程式」。

Wear OS 應用程式與行動應用程式的開發差異

行動應用程式與 Wear OS 應用程式的設計方式有些許差異。如要瞭解在開發 Wear OS 應用程式與 Android 行動應用程式時,對於特定功能、API 或最佳做法的處理有何不同,請查看功能表

Wear OS 媒體應用程式的常見用途

在 Wear OS 上建構媒體應用程式,讓使用者透過手錶串流播放及播放已下載的內容。為了提供最佳使用者體驗,建議您導入 遵循的媒體用途,在 Wear OS 裝置上表現特別好。

播放已下載的內容

使用者可以在運動時聆聽內容,不必連上網路。雖然 Wear OS 裝置通常支援藍牙和 Wi-Fi,但可能不支援 LTE。將連線不穩定和離線用途的設計納入考量 例如運動和通勤等,使用者可能將行動裝置留在 回家。若需更多資訊,請參閲 使用已下載的內容

透過任何可用的網路串流播放

使用者可以從 手錶,但串流播放會耗盡手錶電力。優先顯示下載內容 使用者選擇透過智慧手錶收聽時,可在以下裝置上公開最近使用的下載內容: 瀏覽清單建議您新增一個按鈕,用於將使用者帶往完整的下載內容清單,如下圖所示。

音樂庫清單包括 音樂庫清單,包括播放清單和有聲書

使用 Compose for Wear OS 建構

Compose for Wear OS 是 Android Jetpack 的一部分 和您使用的其他 Wear Jetpack 程式庫一樣 加快程式碼編寫速度這是 Google 建議的建構 Wear OS 應用程式使用者介面方法。

行動裝置專用的 Jetpack Compose 有許多開發原則都適用於 Compose for Wear OS。但也有一些關鍵差異。建構過程中 因此,設計的應用程式必須 可讓使用者輕鬆快速地在手錶上存取媒體。手錶是 便利性和速度是首要考量 相較於手機或 平板電腦。

如要進一步瞭解宣告式 UI 架構的一般優點 請參閱為什麼要選擇使用 Compose。如果您不熟悉如何使用 Jetpack Compose 工具包,請參閱 Compose 課程。如果想進一步瞭解 Compose for Wear OS,請參閱 Compose for Wear OS 課程以及 GitHub 的 Wear OS 範例存放區

Wear OS 媒體套件

Wear OS 媒體工具包是一組程式庫,可加快開發適用於 Wear OS 的高品質媒體應用程式。此工具包是 Horologist 專案的一部分。Horologist 是額外的程式庫,可協助您加快應用程式開發速度。

此工具包透過使用者介面,針對媒體用途採用同級最佳的程式庫 使用 Compose for Wear OS 實作, 使用 Media3 實作的播放功能。 如果應用程式有特定需求,您可以採用套件提供的 UI 實作方式,同時仍可使用現有的播放器。

媒體工具包可協助你解決困難,例如避免播放媒體 可透過手錶的內建喇叭播放 音訊卸載、 也不需對網路進行連線偵測 (ping) 不必要的呼叫

設計媒體應用程式」提供您使用 Horologist 實作的指南,以及 Wear OS 的架構和用途相關資訊。

針對 Wear OS 專屬挑戰的最佳做法

在 Wear OS 上建立媒體應用程式時,請考量使用者在手錶和行動裝置上的體驗差異,特別是下列項目:

  • 內建喇叭並非專為播放音樂而設計。因此,請使用 藍牙喇叭或耳機。
  • 網路連線可能會受到限制或變化,因此您應針對各種網路狀況調整應用程式,並盡量減少網路用量。
  • 較小的電池電力有限。當裝置在主 CPU 上執行音訊處理作業,以及 LTE 訊號不佳時,電池會耗電得更快。新增音訊卸載支援功能,協助節省電力。
  • 裝置提供多個 UI 介面,可讓使用者再次與 應用程式。在這些途徑中展示應用程式的功能。

使用藍牙喇叭或耳機

雖然手錶喇叭可用於通話和引導活動,但無法提供最佳的媒體內容聆聽體驗。

為了提供最佳使用者體驗,應用程式可以使用 媒體工具包 確認連接藍牙耳機或喇叭時,裝置能夠播放音訊 。

媒體工具包提供了專用的 Media3 擴充功能 裝飾 ExoPlayer 例項並 主動停止意外播放。

針對網路狀況進行最佳化

如要讓媒體應用程式在手錶上順利運作,您必須選擇 下列串流注意事項和網路狀況:

  • 為直播選擇較低的位元率來最佳化內容,例如 48 kbps 和轉碼器,例如 AAC 與 MP3
  • 最佳化預先擷取策略。 則能使映像檔和軌跡 ,讓您在暫時斷線時繼續播放內容。
  • 請在所有網路設定下測試應用程式:Wi-Fi、LTE 和使用藍牙連線至手機的手錶。同時測試手錶切換時會有什麼影響 資料。

Wear OS 媒體工具包有助於奠定高效能應用程式的基礎 例如提供聯播網 品牌認知 模組,針對特定作業選擇較佳的連線。

啟用音訊卸載

如要提升 Wear OS 應用程式的效能並減少耗電量,請使用 音訊 卸載。 可讓音訊處理從 CPU 卸載至 專用的信號處理器媒體工具包提供 AudioOffloadManager 支援功能,

如果不確定音訊格式是否支援音訊卸載功能,請使用 AudioManager.isOffloadedPlaybackSupported() 方法。詳情請參閱 Exoplayer 說明文件

除非絕對必要,否則避免建立網路連線

開發 Wear OS 應用程式時,使用者網路可能會受到限制 以獲得最佳效能和最安全的連線使用 MediaDownloadService、 為使用者提供可靠且高效能的下載體驗 隨時隨地播放媒體。

工具包可讓您使用 Media3 的 DownloadManager 和 AndroidX WorkManager 安排排程 下載。

Media3 會啟動所有必要的通知和前景服務。範例應用程式程式碼會設定 WorkManager,以便在可使用 Wi-Fi 連線時執行下載作業,提供更佳效能。使用網路感知模組,開發人員就能將網路作業對應至網路類型。

讓使用者知道正在播放媒體

在 Wear OS 3 以上版本中,持續性通知會顯示在多個介面上 顯示在 Wear OS 使用者介面中持續性活動時 輕觸通知,應用程式就會開啟播放器畫面。

有了 Media3,Wear OS 會自動為媒體應用程式建立持續性活動,並提供開啟應用程式的意圖,讓使用者更容易參與長時間執行的活動,例如媒體播放。