在 Android 應用中使用 VideoView 播放影片的示例

昕仒發表於2024-09-09

這段程式碼片段是在 Android 應用中使用 VideoView 播放影片的示例。下面是對程式碼的詳細解析:

程式碼解析

findViewById<VideoView>(R.id.vv).apply {
    setVideoURI("${baseURL}VideoSrc/${o.getString("Src")}".toUri())
    start()
}
  1. 查詢 VideoView 控制元件:

    findViewById<VideoView>(R.id.vv)
    
    • 使用 findViewById 方法查詢佈局中 ID 為 vvVideoView 控制元件。R.id.vv 是在 XML 佈局檔案中定義的 VideoView 的 ID。
  2. 使用 apply 擴充套件函式:

    .apply { ... }
    
    • apply 是 Kotlin 的一個擴充套件函式,它允許我們在一個物件上執行一系列操作,並返回該物件本身。在這裡,它用於對找到的 VideoView 進行配置。
  3. 設定影片 URI:

    setVideoURI("${baseURL}VideoSrc/${o.getString("Src")}".toUri())
    
    • setVideoURI 方法用於設定要播放的影片的 URI。
    • baseURL 是一個字串,表示影片的基本 URL。
    • o.getString("Src") 從某個 JSON 物件 o 中獲取影片源的字串(假設 o 是一個 JSONObject)。
    • 使用字串模板 ${...}baseURL 和影片源拼接成完整的 URL。
    • toUri() 是一個擴充套件函式,用於將字串轉換為 Uri 物件,確保 setVideoURI 方法接受正確的引數型別。
  4. 開始播放影片:

    start()
    
    • start() 方法用於開始播放設定好的影片。

總結

這段程式碼的功能是:

  • 查詢佈局中的 VideoView 控制元件。
  • 設定影片的 URI,構建完整的 URL,並從 JSON 物件中提取影片源。
  • 開始播放影片。

注意事項

  • 確保在呼叫 start() 方法之前,影片 URI 已經正確設定,並且影片檔案可訪問。
  • 在實際應用中,可能需要處理影片載入失敗的情況,例如使用 setOnErrorListener 來捕獲播放錯誤。
  • 在 AndroidManifest.xml 中,需要新增相應的許可權(如網路訪問許可權)以確保可以訪問網路影片。
  • 確保在合適的生命週期方法中管理 VideoView,例如在 onPause() 中暫停影片播放,避免資源浪費。

相關文章