android显示视频预览
android 11 kotlin显示视频预览
权限
读sd卡中的mp4文件的权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
代码
fun showVideo() {// 比如显示sdcard对应app的data中的kongfu.mp4val video: String = getExternalFilesDir("")!!.getAbsolutePath() + "/kongfu.mp4"val file: File = File(video)if (!file.exists()) {Log.e(TAG, "file:${video} not exists")return}lifecycleScope.launch(Dispatchers.Main) {val firstFrame = getFirstFrameDrawable(video)if (firstFrame != null) {// iv_first_frame是一个ImageViewiv_first_frame.setVisibility(View.VISIBLE)iv_first_frame.setImageBitmap(firstFrame)}}}/*** 获取视频的第一帧,耗时的操作, 不建议直接在主线程上调用,这里放在协程中处理** @param url* @return*/private suspend fun getFirstFrameDrawable(url: String): Bitmap? {val mmr = MediaMetadataRetriever()Log.d(TAG, "video_url = $url")return try {mmr.setDataSource(url)mmr.frameAtTime} catch (e: Exception) {e.printStackTrace()null}}// 取视频中某个播放位置的图片,单位为毫秒private suspend fun getFrameDrawable(url: String, millisPosition: Long): Bitmap? {val mmr = MediaMetadataRetriever()return try {mmr.setDataSource(url)mmr.getFrameAtTime(millisPosition)} catch (e: Exception) {e.printStackTrace()null}}
可能出错点
如果这么调 mmr.setDataSource(url, HashMap())
会提示如下错误:
android java.lang.RuntimeException: setDataSource failed: status = 0xFFFFFFEA
作者:帅得不敢出门
android显示视频预览相关推荐
- Python - 如何在Tkinter窗口中显示视频预览
from moviepy.editor import * from moviepy.video.fx.resize import resize import pygame pygame.display ...
- 教你如何关闭Win7视频预览节约资源
前天我发现我的电脑打开E盘的文件夹,文件夹自动关闭,试了很多次都一样,开始以为中毒,查杀没有病毒,百度一问,才明白是因为我的E盘放了很多电影,尤其是AVI格式的.因为系统开启了显示视频预览.占用资源太 ...
- Android openGl开发详解(二)——通过SurfaceView,TextureView,GlSurfaceView显示相机预览(附Demo)
最近公司在做自定义相机这一块,之前使用的是第三方,后来需求变更,第三方不支持添加动态贴纸,所以只能自己扩展.当然网上有很多例子,但是关于添加动态贴纸的例子几乎找不到,反正我是没找到(欲哭无泪).当然, ...
- android ffmpeg 仿剪映播放器 剪辑视频 预览条 快速精准抽帧
android ffmpeg 仿剪映播放器 剪辑视频 预览条 快速精准抽帧 由于本人想学习音视频相关的东西,所以找了剪映作为借鉴,通过仿照剪映的功能学习音视频相关的东西,所以有了这个项目 暂时这个项目 ...
- android surface清空,Android:如何在surfaceDestroyed()之后重启视频预览?
我通过以下方式创建了一个CapturePreview类和CameraManager类: CapturePreview: public class CaptureView extends Surface ...
- android surfaceview camera,android – 如何在SurfaceView上显示相机预览?
要使用Camera2 API从相机显示预览,您应该执行以下步骤: >获得使用相机设备的权限 >使用CameraManager打开与相机的连接 准备表面预览 >使用打开的相机设备和所需 ...
- android预览界面显示不全,Android SurfaceView Camera 预览显示不全(画面拉伸)
释放双眼,带上耳机,听听看~! 项目当中遇到调整摄像头位置需要全屏显示摄像头预览界面,过程中发现预览界面存在无法显示全,画面被拉伸的问题.surfaceview的宽高比可能与camera设置的宽高比不 ...
- Android P 开发者预览版
Android P 开发者预览版首发! 在上周的世界移动通信大会 (Mobile World Congress) 上,我们看到由开发者.设备厂商以及芯片合作伙伴组成的 Android 生态系统不断为全 ...
- Android P 开发者预览版首发!
在上周的世界移动通信大会 (Mobile World Congress) 上,我们看到由开发者.设备厂商以及芯片合作伙伴组成的 Android 生态系统不断为全球用户创造美妙体验. 今天,我们要向各位 ...
最新文章
- PCL的PNG文件和计算点云重心
- 融合与Web应用 2011年安全领域趋势展望
- java中如何判断aabb_java判断改错题
- mysql spring隔离级别_MySQL事务与Spring隔离级别实现
- 从外网 SSH 进局域网,反向代理+正向代理解决方案
- 蓝桥杯 PREV-32 历届试题 分糖果
- 系统分析师考试经验分享
- 你不知道的华为交换机22个实用技巧
- 勒索病毒GandCrab5.2解密工具
- java生成随机数的代码_java生成随机数的代码
- 通过ip查看主机名和端口占用情况
- 用户画像标签数据开发之标签权重计算
- 计算机毕业设计之java+ssm疫情防控志愿者管理系统
- 【业务办理】广州市户口市内迁移流程
- C:L1-061 新胖子公式 (10分)
- 手机无线设计的八个原则
- Vue.js 写一个echarts的水滴图
- Redis - 几款可视化工具
- win7防火墙入站规则
- 用python解决选择困难症