Google Cast SDK 版本資訊

每次推出新版本的 Google Cast 時,我們都會一併列出相關異動,並更新 API 參考資料。如需設計檢查清單的異動,請參閱其變更記錄

2023 年 7 月 20 日

iOS 傳送者 4.8.0

  • iOS SDK 支援的最低版本為 iOS 13。
  • 第一個穩定 XCFramework 版本。
  • XCFrameworks 可透過 Cocoapods 取得。
  • 還原播放媒體時,使用實體音量按鈕控制音量的功能。
  • 投放按鈕現在會在導覽列中使用符合色調顏色。
  • 現在可以使用 GCKUIStyle API 自訂導覽標題顏色。
  • 修正媒體追蹤字幕清單檢視畫面的透明導覽列問題。
  • 已修正 XCFramework Beta 版中的當機問題。
  • 新增了 API,以便將 UIControl 與向前或倒轉動作繫結。
  • 新增投放支援至 Pixel 平板電腦。

2023 年 7 月 6 日

Web Receiver 3.0.0111

  • 新增使用 BreakManager addBreak(breakData, breakClips, broadCastMediaStatus) removeBreakById(breakId) 支援動態廣告插播的功能。
  • 已將 Subtype 字串剖析新增至 Smooth 資訊清單。
  • 新增對 Shaka Player 的 manifestRequestHandler segmentRequestHandler licenseRequestHandler 中的非同步要求支援。
  • 新增強製字幕功能。
  • 已將 CAF 的預設 Shaka 版本遷移至 v4.3.4。
  • 清楚闡釋 setActiveByIds 參數說明。
  • 修正 CAF 選擇不同音軌的方式。
  • 修正 Shaka 要求篩選器的要求主體類型轉換。
  • 新增 BreakManager getCreativeInfoByClipId(breakClipId) 中與 BreakClip 相關的 CreativeInformation 功能。
  • 已修正在受 DPad 控管的裝置上載入媒體元素時缺少媒體中繼資料的問題。
  • 已將屬性 hlsSegmentFormathlsVideoSegmentFormat 新增至 BreakClip
  • 使用 MPL 修正區分大小寫的 MIME 類型比較。
  • 修正使用 Shaka Player 載入時即時 HLS (TS 型) 的無限緩衝處理。
  • 已修正 IS_AT_LIVE_EDGE_CHANGED 事件的 PlayerDataBinder 行為
  • 已修正使用 MPL 提供 TSL 區隔資料不足的無限迴圈
  • 已為 Shaka Player 發生錯誤新增 error.stack
  • 已變更為使用 Shaka Player 追蹤物件中的 audioMimeType 欄位,而非 audioCodec,藉此填入變化版本音軌的 cast.framework.messages.Track.trackContentType 欄位。
  • 已針對 Shaka Player 新增 shaka.extern.track.label cast.framework.messages.Track.name
  • 已展開 cast.framework.stats.Stats 物件,以因應 shaka.extern.Stats 中現有欄位。
  • 已修正可展開內嵌廣告插播的媒體時間計算

2023 年 3 月 28 日

Android send 21.3.0 和 Android TV 接收器 21.0.0

2022 年 10 月 17 日

Web Receiver 3.0.0105

2022 年 10 月 10 日

Android 寄件者 21.2.0

2022 年 8 月 8 日

Android send 21.1.0 和 Android TV 接收器 20.0.0

2022 年 3 月 31 日

Web Receiver 3.0.0103、MPL Player 1.0.0.113

  • 將預設的 Shaka 播放器版本升級至 3.2.2。
  • 已新增 API cast.framework.PlaybackConfig#shakaConfig,以覆寫 Shaka 播放器版本和其他 Shaka 選項。
  • 新增 API cast.framework.ui.Controls#hasMediaControlsOverlay(),用於查詢媒體控制項疊加層是否顯示在應用程式頂端。
  • 已新增「喜歡」使用者操作的新樣式 cast.framework.ui.ControlsButton.LIKE_HEART
  • cast.framework.events.EventType.BREAK_CLIP_ENDED 事件資料的 currentMediaTime 值現在代表事件發生時,最新的最新剪輯片段時間。
  • 新增了 cast.framework.PlayerManager#getRawCurrentTimeSec 方法,用來傳回媒體元素的媒體時間。
  • 已新增 cast.framework.NetworkRequestInfo#timeoutInterval,以便指定玩家要求的 HTTP 要求逾時。
  • 已修正針對 DEA 608/708 字幕轉譯 CEA 字幕時出現的 MPL 錯誤。
  • 已修正 MPL WebVTT 時間戳記剖析邏輯,以便接受小時值超過 2 位數字。

2021 年 12 月 9 日

Android 寄件者 21.0.0

  • 將空值安全違規設為錯誤,藉此提升 Kotlin 的是否可為空值支援。Java 開發人員不會受到任何影響。如果 Kotlin 開發人員的現有程式碼不是空值,可能會看到新的建構失敗問題。

2021 年 11 月 19 日

iOS 傳送者 4.7.0

  • 已修正 iOS 傳送者支援使用 搭配 Cast Connect 的 ATV 憑證
  • 修正使用 Xcode 13 進行建構時,導覽列有透明背景的錯誤。
  • 修正透過 GCKUICastButton. 回報的無障礙功能問題
  • 修正了在 Wi-Fi 和行動網路之間切換時,系統會中斷投放工作階段,而非暫停播放工作階段的問題。
  • 停止支援 iOS10 和 iOS11,並支援 32 位元架構。
  • 修正其他錯誤並提升效能。

2021 年 11 月 16 日

Android 寄件者 20.1.0

  • 注意:指定 Android 12 的應用程式必須更新至 Android 20.1.0 版,以避免執行階段發生中斷。
  • 佇列改善項目
    • MediaQueue 新增 itemsReorderedAtIndexes 回呼,以便在佇列重新排序時呼叫。
    • 新增對佇列指令序列化的支援。
  • RemoteMediaClient#queueSetRepeatMode 中的 customData 參數設為空值。
  • 「遠端顯示」功能已淘汰。
  • minSdkVersion 已從 14 降至 16。

2021 年 10 月 26 日

Web Receiver 3.0.0102

  • 升級至 Shaka 播放器 3.0.13 版 (這麼做會修正先前回報的許多問題)。
  • 新增在智慧螢幕和 Chromecast 上使用次要圖片的功能。
  • 修正問題:系統偵測到重複音軌的邏輯有誤,因此無法在緩衝串流中顯示字幕。
  • 修正 LOAD_BY_ENTITY 傳回錯誤時,無法觸發接收器錯誤回呼的問題
  • 為傳輸串流新增高效率 AAC (HE-AAC) 音訊轉碼器
  • 已修正 PlayerManager.getStats() 無法傳回高度和寬度正確值的錯誤。
  • MediaStatus 訊息中移除 VAST 和 VMAP 資訊,以避免溢位會導致寄件者與接收器中斷連線。
  • 已修正略過廣告時,未向寄件者提供 endedReason 的問題。
  • 已修正在播放之前從載入佇列中移除廣告插播的問題。
  • 已新增 cast.framework.message.QueueChange#reorderItemIds 欄位,其中包含受 QUEUE_CHANGE 作業影響的佇列項目清單。
  • 減少切換 MPL 中 HLS 直播影片時的緩衝處理問題,因此音訊和視訊現在會保持同步。
  • 已修正 MPL 中內嵌 CEA608/CEA708 字幕的 HLS 串流剖析問題。
  • 如果媒體暫停超過 5 秒,系統會隱藏 Chromecast (支援 Google TV) 的媒體控制選項。

2021 年 5 月 26 日

iOS 傳送者 4.6.1

  • 修正了以下問題:針對允許背景執行的應用程式,將背景投放工作階段停權。

2021 年 5 月 17 日

iOS 寄件者 4.6.0

2021 年 4 月 29 日

Web Receiver 3.0.0096

2021 年 4 月 20 日

Android send 20.0.0 和 Android TV 接收器 18.0.0

2021 年 4 月 5 日

Web Receiver 3.0.0095

  • Shaka Player 升級為 3.0.10。
  • 現在,在支援 STREAM_TRANSFER 媒體指令後,現在會顯示「投放」按鈕。
  • 在媒體瀏覽 UI 底部新增建議列。建議列含有互動式方塊,可在選取後播放媒體項目或捲動可用的媒體項目。每個方塊也會對應至可用的 Google 助理指令。系統建議語言必須設為英文或日文,才能支援建議方塊。
  • 已修正 Chromecast (支援 Google TV) 的錯誤,將相片內容投放到預設接收器時,系統會顯示媒體控制項疊加層。
  • 新增 TRACKS_CHANGED 事件支援。

2020 年 12 月 18 日

Web Receiver 3.0.0085

2020 年 12 月 3 日

iOS 傳送者 4.5.3

  • 已修正 GCKCredentialsData 的載入時間錯誤:「架構 arm64 的未定義符號」
  • 已修正 GCKCredentialsData 上關於是否可為空值的衝突的編譯器錯誤
  • 如果 Info.plist 缺少必要的 Bonjour 服務項目,系統會記錄警告訊息。

2020 年 11 月 4 日

iOS 傳送者 4.5.2

  • 已將 Protobuf 程式庫的最低版本更新為 CocoaPods 中的 3.13 版。使用舊版 Protobuf 會會導致 SDK 異常終止。
  • 這個版本僅限 CocoaPods 使用,且使用與 v4.5.1 相同的二進位檔。

2020 年 10 月 13 日

iOS 傳送者 4.5.1

  • 修正問題:自訂裝置挑選器的 GCKUICastButton 未更新以反映正確的投放狀態。
  • 已修正「傳回類型中的是否可為空值是否限定詞」的警告。

2020 年 9 月 14 日

網路接收器

  • Shaka Player 升級為 2.5.16。

iOS 傳送者 4.5.0

  • 在 iOS 14 中新增對投放裝置探索變更的支援,這種做法需要在首次投放時取得明確的使用者授權。詳情請參閱「iOS 14 首次投放內容」。
  • 將最低 SDK 支援更新為 iOS 10。

2020 年 9 月 8 日

網站寄件者

2020 年 8 月 31 日

網路接收器

  • 已新增 HLS 中的 #EXT-X-DATERANGE / DASH 中的 EventStream 支援。

2020 年 8 月 3 日

iOS 寄件者 4.4.8

2020 年 7 月 29 日

Android send 19.0.0 和 Android TV 接收器 17.0.0

2020 年 7 月 13 日

網路接收器

  • 改善預設使用者介面 (視訊與音訊) 的媒體類別偵測功能。
  • 新增 Shaka Player 的即時絕對時間支援。
  • 修正 Nest Hub Max 裝置音訊故障的問題。
  • Shaka Player 升級為 2.5.12。

2020 年 5 月 4 日

網路接收器

  • 你現在可以設定 Google 助理指令的逾時值。
  • 系統現在會在錯誤事件中顯示詳細的 MPL 錯誤代碼。
  • 您現在可以使用 enforceSupportedCommands 旗標強制執行受支援的媒體指令。
  • 修正了播放期間所支援的支援指令。
  • 修正 Google 助理重組載入要求的問題。
  • 已修正 getStats 值中的錯誤。

2020 年 3 月 12 日

網路接收器

  • 已將裝置功能 IS_CBCS_SUPPORTED 新增至 deviceCapabilities
  • Shaka Player 升級為 2.5.8。

2020 年 2 月 27 日

iOS 傳送者 4.4.7 版

  • 已修正未使用 SDK 中任何 UI 元件的應用程式的實體音量按鈕。
  • 已修正以下問題:在展開控制器中,持續按下向前或向後按鈕時,會使 currentTime 標籤發生問題。
  • 應用程式移至背景後,GCKMediaQueue 中的媒體項目會保留。
  • 使用者介面自訂更新:
    • 您現在可以自訂迷你控制器的進度列。
    • 「Cast」對話方塊的導覽列和工具列的背景顏色現在可自訂。
    • 修正 iPhone X 專屬的使用者介面問題。
  • 修正幾個會導致廠商當機及當機的問題。

2020 年 2 月 24 日

Android 寄件者 18.1.0

2020 年 1 月 22 日

網路接收器

  • 修正變更支援的指令時,會播送多個媒體狀態的問題

接收器 v2

  • 改善 VAST 廣告的位元率選項。

MPL

2020 年 1 月 7 日

網路接收器

  • 開始在 cast.framework.events.EmsgEvent 中新增 ID3 定時中繼資料。此外,系統現在會分派 EmsgEvent 以處理 HLS/CMAF 內容。
  • 已修正遷移至新媒體工作階段時,PLAYER_LOAD_COMPLETE 中缺少玩家資料的問題。
  • 已修正媒體圖示與廣告插播片段和倒數計時重疊的問題。
  • 修正問題:第一個廣告時段片段的倒數計時一律會顯示 0:00。
  • Shaka Player 升級為 2.5.6。

Web 接收器 v2

  • 已將裝置功能 IS_DEVICE_REGISTERED 新增至 deviceCapabilities。如果已設定,投放裝置會在 Cast Developer Console 中註冊以進行偵錯。
  • 修正暫停載入問題。
  • 現在,系統會針對佇列中每個失敗項目傳送個別媒體錯誤訊息。

MPL

  • 修正直播功能在收到停止訊息後會停止播放音訊一段時間的問題。
  • 修正影片畫質構件在品質等級變更期間顯示的問題。
  • 修正使用 *.m4s 區隔的 HLS 串流失敗的問題。

2019 年 12 月 5 日

Android 寄件者 18.0.0

  • 新增 setMediaSessionEnabled,方便開發人員啟用及停用 Cast SDK 建立的媒體工作階段。
  • 變更在投放期間的媒體通知顯示方式。如果已啟用媒體通知,則一律會在投放工作階段期間顯示通知。先前只會顯示應用程式在背景執行時。
  • 已變更部分媒體相關類別,以實作 Parcelable 介面。

2019 年 11 月 11 日

iOS 傳送者 4.4.6 版

  • 修正與 iOS 9 最低支援版本相關的問題。

2019 年 10 月 7 日

網路接收器

  • 曝光角色是曲目中繼資料的一部分。
  • Shaka Player 升級為 2.5.5 版。

2019 年 9 月 23 日

iOS 傳送者 4.4.5 版

  • 改善投放裝置探索和工作階段管理支援功能。
  • 將新的媒體指令新增至 GCKMediaStatus
  • GCKAdBreakStatus 中新增了 whenSkippable 屬性。
  • 修正廣告與 iOS 13 的使用者介面問題。

2019 年 9 月 11 日

Android 寄件者 17.1.0

2019 年 9 月 9 日

網路接收器

  • TV_SHOW 中繼資料類型現在會在下一個項目預先載入時,於預設播放器中播放「接著播放」預覽畫面。
  • 已將 ContentRating 類別新增至 cast.framework.messages 命名空間。
  • 已更新預設 UI 音訊標題,讓 metadata.artist 的優先順序高於 metadata.albumArtist
  • 新增負值開始時間值,以指出相對於內容結束或直播邊緣的開始時間。
  • 媒體瀏覽:
    • 媒體瀏覽導覽匣現在會在使用者閒置 30 秒後自動隱藏。
    • 在媒體瀏覽疊加層的右上角新增「播放/暫停」按鈕和媒體項目縮圖。
    • 更新媒體瀏覽清單行為。現在設定媒體瀏覽內容時,水平捲動功能會重設為初始左上方。
  • 修正錯誤:
    • 延遲 BasePlayer 結束的承諾,允許系統觸發媒體元素事件。
    • 廣告預先載入作業已處理載入錯誤。
    • 浮水印現在會與中繼資料一起顯示。
    • Chromecast 的預設音訊 UI 會遵循 .progressBar 樣式。
    • 減少在 LOADING 啟動程序和播放後續媒體項目之間跳出 IDLE 畫面的情形。
    • 修正 Dash 內容跳轉的穩定機制。

Web 接收器 v2

  • 已將 ContentRating 類別新增至 cast.receiver.media 命名空間。
  • 修正了佇列中有多個項目時,錯誤資料未正確傳播的問題。

媒體播放器程式庫

  • 已將 HLS #EXT-X-MEDIA 屬性新增至 API。
  • 修正錯誤:
    • 修正問題:SourceBuffer remove() 作業失敗,導致音軌切換至異常終止。
    • 修正指定封裝音訊格式類型 (例如 *.ec3) 但使用 MPEG-4 區隔的剖析問題 (例如 *.mp4、*.mp4a 等)。
    • 已修正頻帶 CEA608 字幕顯示重要通知的 HLS 問題。
    • 已修正無法載入音訊的 HLS 和流暢內容。

2019 年 8 月 27 日

網站寄件者

  • 網路傳送者現在使用了新的自訂元素 v1 語法。這個版本已由已淘汰的 v0 取代。
  • 修正了透過新增至 Chrome M77 的新 getEstimatedBreakTimegetEstimatedBreakClipTimegetLiveSeekableRange 函式,breakTimebreakClipTimeliveSeekableRange 發生改變的事件。

2019 年 8 月 12 日

iOS 傳送者 4.4.4 版

  • 改善 iOS 13 的使用體驗。
  • 改善對投放裝置探索的支援功能。

2019 年 7 月 30 日

網路接收器

  • Shaka Player 版本升級至 2.5.1。
  • 修正問題:內容載入期間,中繼資料重疊速度過快。
  • 已修正在載入攔截器的拒絕處理問題以清除載入狀態的問題。
  • 已將 setBrowseContent 更新為可為空值。
  • 修正問題:透過廣告插播時間點搜尋時,目前時間不正確。
  • 新增支援 ignoreTtmlPositionInfo,以忽略 TTML 字幕定位。
  • 加強處理載入錯誤:
    • 避免觸發多個 MediaFinishedEvent
    • 觸發了媒體管理員錯誤回呼,以在載入錯誤時清除播放器。

2019 年 7 月 22 日

iOS 傳送者 4.4.3 版

  • 透過提供 error_Reason 改善處理錯誤處理的支援。
  • 發布不含訪客模式的 SDK 版本。

2019 年 6 月 17 日

Android 寄件者 17.0.0

  • 最新的 SDK 已從 Android 支援資料庫切換為 Jetpack (AndroidX) 程式庫。除非您對應用程式進行以下變更,否則程式庫將無法運作:
    • com.android.tools.build:gradle 升級至 3.2.1 以上版本。
    • 請將 compileSdkVersion 升級至 28 以上版本。
    • 請更新應用程式以使用 Jetpack (AndroidX)。按照「遷移至 AndroidX」中的指示操作。
  • 詳情請參閱「Google API for Android 版本資訊」。

2019 年 6 月 10 日

網路接收器

  • 新增對媒體瀏覽的支援,這是新功能,用於在智慧螢幕上探索內容。
  • 針對 9 個新語言代碼,在預設 UI 中新增本地化版本:
    • 丹麥文
    • 英文 (英國)
    • 英文 (印度)
    • 英文 (新加坡)
    • 法文 (加拿大)
    • 義大利文
    • 挪威文
    • 荷蘭文
    • 瑞典文
  • 已從遠端使用者介面移除專輯封面的圓角。
  • 修正即時和其他區域的錯誤。

iOS 傳送者 4.4.2 版

  • 訪客模式
    • 新增對「開發人員控制台」的「啟用訪客模式」選項的支援。
    • 修正訪客模式工作階段管理問題。
  • 修正錯誤
    • 已修正 4.4.1 版中的本地化問題。

2019 年 4 月 24 日

iOS 傳送者 4.4.1 版

  • 為直播活動新增 Alpha 版支援。詳情請參閱開發人員指南
    • 新增適用於直播狀態的資料結構和屬性。
    • 已新增 GCKMediaMetadata 金鑰。
    • 新增了直播媒體指令:
      • [GCKRemoteMediaClient loadMediaWithLoadRequestData:]
      • [GCKRemoteMediaClient findWithOptions:]
    • 改善控制器控制器使用者介面,以支援直播:
      • 已變更展開控制器的版面配置和外觀。
  • 修正錯誤
    • 已修正 iPhone X 上的 GCKUICastContainerViewController 的底部。
    • 已修正當 OS 執行大量網路活動時重新連線的問題。
    • 已修正 GCKUICastButton 無障礙標籤初始化作業中的異常終止問題。

2019 年 4 月 23 日

網路接收器

  • 為直播活動新增 Alpha 版支援。詳情請參閱開發人員指南
    • 更新使用者介面以支援直播,包括直播指標。
  • 在媒體狀態中加入 mediaCategory 欄位,指出媒體是否為影片、音訊或相片。
  • 修正錯誤
    • 已修正 playConfig.SegmentHandler 傳回值的使用方式。

媒體播放器程式庫

  • 已對 MPL 中的 HLS 新增 HEVC 轉碼器支援。

網站寄件者

  • 為直播活動新增 Alpha 版支援。詳情請參閱開發人員指南
  • 新增廣告支援功能。詳情請參閱開發人員指南
    • 已為可略過廣告新增 RemotePlayerController.skipAd()。

Android 寄件者 16.2.0

  • 為直播活動新增 Alpha 版支援。詳情請參閱開發人員指南
    • 新增適用於直播狀態的資料結構和屬性。
    • 新增了 MediaMetadata 金鑰。
    • 新增了直播媒體指令:
      • RemoteMediaClient#load(MediaLoadRequestData)
      • RemoteMediaClient#seek(MediaSeekOptions)
    • 改善控制器控制器使用者介面,以支援直播:
      • 在展開的控制器 UI 小工具中新增直播支援功能。
      • 已變更展開控制器的版面配置和外觀。
      • 推出了直播相容的 CastSeekBar 小工具,以取代原生 SeekBar。
      • 修改 ExpandControllerActivity 以使用 CastSeekBar 取代 CastkkBar,以提供直播相容性。ExpandControllerActivity#getSeekBar() 現已淘汰,將會傳回虛擬執行個體。
  • 新增 MediaStatus#Player_STATE_LOADING 玩家狀態:
    • 當 Web Receiver 開始載入媒體時,MediaStatus 中的 PlayerState 屬性會設為 MediaStatus#Player_STATE_LOADING,直到開始緩衝或播放內容為止。
    • 在多數情況下,應用程式處理狀態的方式與處理 MediaStatus#Player_STATE_BUFFERING 的方式相同。
    • 緩衝和載入狀態不一定能交替使用。
    • 在載入期間,網路接收器尚未解析所有媒體資訊,因此可用的媒體資訊僅在寄件者的載入媒體要求中出現。
    • 緩衝處理期間,媒體資訊可能包含接收器解析的其他資訊。
  • 修改 MediaMetadata,以便支援有聲書:
    • 新增了 MediaMetadata 金鑰。
    • 新增有聲書的中繼資料類型。

2019 年 3 月 25 日

網路接收器

  • 已將 document.registerElement() 的用法替換為 customElements.define(),讓 Web Receiver SDK 與新版 Cast 平台相容。
  • MediaStatus.breakStatus 現在會在內容中出現廣告插播,但目前正在播放廣告插播時,會傳回空白物件。
  • 已修正內嵌 VAST 代碼剖析的問題。

媒體播放器程式庫

  • 修正切換音軌時延遲約 20 秒的問題。

2019 年 2 月 13 日

網路接收器

  • 修正觸控式使用者介面的「略過廣告」按鈕突然出現的問題。
  • 修正了遙控器顯示中斷資訊的問題。

媒體播放器程式庫

  • 已修正處理預先載入媒體的授權 LicenseUrl 的問題。

2019 年 2 月 5 日

iOS 寄件者 v4.3.5

  • 新增對有聲書中繼資料的支援,詳情請參閱 GCKMediaMetadata.h
  • 為 Pod 的 static_framework 設定正確的值。
  • 為導覽列和 連線控制器中的工具列分割 styleAttributes。
  • 修正錯誤
    • 修正了部分資料庫初始化失敗的問題。
    • 已修正網路來電或鬧鐘響鈴期間的網路接收器音量列問題。
    • 修正了探索期間特定委派方法的冗餘呼叫問題。
    • 已修正媒體佇列清單在最後一個項目播放完畢後無法清除的問題。
    • 無法連上網路,因此無法顯示附近的鄰近裝置。
    • 對於裝置無法控制的音量,已在裝置檢視控制器停用音量滑桿。