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

Android 微信氣泡式小視頻播放實現:封面圖點擊跳轉全屏播放

     編輯:程式設計綜合問答

需求分析

微信聊天界面中,小視頻以氣泡形式展示,點擊封面進入全屏播放。.9 圖方案邊框難控制,且三角尖角屬於視頻畫面一部分。

實現方案

  1. 列表項佈局:使用 FrameLayout 包裹 ImageView(封面)+ ImageView(播放圖標)+ View(三角尖角,可用 Path 繪製或 .9 圖)。
  2. 封面生成:視頻上傳時,服務端或客戶端用 MediaMetadataRetriever 截取首幀作為封面,上傳至圖片服務器。
  3. 點擊事件:封面 setOnClickListener → 啟動 VideoPlayActivity,傳遞視頻 URL。
  4. 播放頁面:全屏 VideoView 或 ExoPlayer,支持手勢控制進度/音量/亮度。
  5. 氣泡尖角:自定義 View 繪製三角形,填充視頻首幀像素色,或直接使用帶尖角的 .9 圖作為背景,封面圖居中顯示。

關鍵代碼片段

封面加載

Glide.with(context).load(videoCoverUrl).into(coverIv);

啟動播放

coverIv.setOnClickListener(v -> {
    Intent intent = new Intent(context, VideoPlayActivity.class);
    intent.putExtra("video_url", videoUrl);
    context.startActivity(intent);
});

避坑指南

  • 列表滑動時釋放視頻資源,避免 OOM。
  • 封面圖尺寸固定,防止布局抖動。
  • 播放頁面處理旋轉、來電中斷等生命周期。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved