首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android VideoView 顯示視頻縮略圖與控制器定位

     編輯:程式設計綜合問答

獲取縮略圖

// 使用 MediaMetadataRetriever (API 10+)
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(videoPath); // 或 setDataSource(context, uri)
Bitmap thumbnail = retriever.getFrameAtTime(1000000); // 1ms 处的帧
retriever.release();
imageView.setImageBitmap(thumbnail);

VideoView 默認黑屏原因

未設置 `setOnPreparedListener` 在準備好時獲取首幂,或未調用 `start()` 後立即 `pause()` 定格首幂。

MediaController 定位在視頻區域

  1. 自定義布局:將 `VideoView` 和 `MediaController` 放在同一父容器(如 `FrameLayout`)。
  2. 調用 `mediaController.setAnchorView(videoView)`,控制器將錨定在 VideoView 底部。
  3. 或繼承 `MediaController` 重寫 `onMeasure`/`setProgress` 實現全屏/內嵌切換。

點擊縮略圖全屏播放

縮略圖 `ImageView` 設置 `OnClickListener` → 啟動全屏 `Activity`/ `Fragment`,傳遞視頻 URL,使用 `VideoView` 或 `ExoPlayer` 播放。

參考資源

CSDN 博客:Android VideoView 縮略圖獲取與播放控制

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved