指定文件夹获取所有视频的缩略图

qq_33536370 2016-03-02 04:39:50
我想做一个可以实现指定一个sd卡存视频的文件夹,读取其中所有视频,并有缩略图横屏显示在listView上,有哪位大神帮我实现一下。做个demo,详细点,本人新手菜鸟。感激不尽。



类似这种效果。
...全文
232 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wei220000 2016-03-02
  • 打赏
  • 举报
回复
public Bitmap setVideoinfo(String filePath) {  
 Bitmap bitmap = null;  
   
        
        MediaMetadataRetriever retriever = new MediaMetadataRetriever();  
        try {  
            retriever.setDataSource(filePath);  
            bitmap=retriever.getFrameAtTime();
            int width=(int)(imageheight*bitmap.getWidth()/bitmap.getHeight());
            bitmap = ThumbnailUtils.createVideoThumbnail(filePath, Thumbnails.MINI_KIND);  
    bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, imageheight, ThumbnailUtils.OPTIONS_RECYCLE_INPUT); 
//            videoshots.add(bitmap);
//            Log.e("screen",videoshots.size()+"");           
            return bitmap;
        }   
        catch(IllegalArgumentException e) {  
         Log.e("screen",e.toString()); 
            e.printStackTrace();  
        }   
        catch (RuntimeException e) {
         Drawable d=mContext.getResources().getDrawable(R.drawable.video_erro);
         BitmapDrawable bd = (BitmapDrawable) d;
         Bitmap bm = bd.getBitmap();
         Log.e("screen",e.toString()); 
            e.printStackTrace();  
         return bm;
         
        }   
        finally {  
            try {  
                retriever.release();  
            }   
            catch (RuntimeException e) {  
                e.printStackTrace();  
            }  
        }
return bitmap;            
    }
qq_33536370 2016-03-02
  • 打赏
  • 举报
回复
引用 1 楼 birdsaction 的回复:
MediaMetadataRetriever 类可以获取视频缩图,还有用 读取 媒体数据库也能获取,只是图片质量没那么高。 你可以看 Android源码里面自带的视频播放器APK源码 很多东西直接用。 读取SDCARD指定目录,然后用MediaMetadataRetriever 获取视频图片。
谢谢回答,但是我的水平不行,做不出来,才求助的。
Birds2018 2016-03-02
  • 打赏
  • 举报
回复
MediaMetadataRetriever 类可以获取视频缩图,还有用 读取 媒体数据库也能获取,只是图片质量没那么高。 你可以看 Android源码里面自带的视频播放器APK源码 很多东西直接用。 读取SDCARD指定目录,然后用MediaMetadataRetriever 获取视频图片。
PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例 PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例 curl获取远程文件内容 GD显示中文 PHP GIF动画生成类 PHP HTML转UBB函数 PHP XML转数组函数 PHP 缓存函数 PHP 设置COOKIE,并且加密COOKIE函数 PHP不缓存数据头 PHP伪造IP PHP全角半角转换函数 PHP农历函数 PHP分页函数 PHP判断字符串是否UTF8格式 php判断爬虫函数 PHP判断远程文件是否存在 PHP图片处理类:缩略,裁剪,圆角,倾斜 PHP多功能图片处理类 PHP多重判断删除文件函数 PHP实现英文标题的正确大写 PHP常用图片处理类 PHP常用测试函数 PHP得到当周每天日期 PHP文件下载类 PHP无限分类[左右值]算法 PHP显示日期、周几、农历初几、什么节日函数 PHP格式化数据,防止注入函数 PHP模拟登陆 PHP生成唯一标识符函数 PHP生成曲线图函数 PHP生成条形码 PHP统计字符串里单词出现次数 PHP缩略图类,可生成BMP格式 PHP自定义大小验证码函数 PHP获取.NET发出的WEBSERVICE数据 PHP获取FLV文件播放时间函数 PHP获取一年内所有周的开始和结束日期 php获取指定日期所在周的开始和结束日期 PHP读取文件前几个字节 判断文件类型函数 PHP连接ACCESS PHP采集程序中常用的函数 PHP随机产生指定长度中文字符串 SMTP类 url地址参数加密 一些常用验证函数 下拉-单选框选择 创建多级目录 删除数组中相同元素,只保留一个 判断路径是绝对目录还是相对目录 利用PHP搜索指定目录下指定的文件 加密解密 去掉指定的html标签 发送 trackback 数据包 图像处理类 图片验证码生成 字符集转换类 对要输入的字符串进行转换 对要输出的字符串进行反转换 对输入JS进行转换 寻找两个函数所有不同的元素 寻找两数组所有不同元素 得到文件类型 截取字符串中两个特定唯一字符之间的内容 截取指定长度字符串 折线图 按照比例改变图片大小(非生成缩略图) 收藏主页 数据验证类 数组转换成XML格式 日期计算 是否为电子邮件格式 柱形统计图 检查是否为一个合法的时间格式 检测URL地址有效性 检测文件是否图片 检测是否可以以网页形式显示 检测是否序列化后的字符串 模仿JAVASCRIPT的ESCAPE和UNESCAPE函数的功能 用curl函数读取远程文件 用file_getcontents提交数据 用php生成扭曲,有角度的验证图片(支持中文) 用正则加亮关键字 程序运行过程中直接输出 缩略图带版权信息函数 缩略图类 获得用户操作系统的换行符 获得用户的真实IP地址 计算字符串的长度(汉字按照两个字符计算) 设为主页 转换附件大小单位 转静态函数 遍历文件夹文件 采集网络数据 随机字符串 验证码 验证码类 验证输入的邮件地址是否合法
第15章 键盘与鼠标 389 15.1 鼠标操作技巧 390 0626 鼠标双击窗体时模拟键盘Tab键操作 390 0627 定义鼠标指针形状 390 0628 自定义鼠标的图片 391 0629 鼠标拖放复制文本 391 0630 如何使用鼠标单击添加控件 392 0631 如何获得鼠标在窗体上的位置 392 0632 如何交换鼠标左右键功能 392 0633 如何隐藏和显示鼠标 393 0634 如何获取光标闪烁的频率 394 0635 如何获得屏幕上鼠标的坐标 394 0636 如何限制鼠标在某一区域工作 394 0637 如何利用鼠标绘图 395 0638 如何获取鼠标双击时间间隔 396 0639 如何获取鼠标键数 396 0640 如何显示鼠标的等待光标 397 0641 如何禁用鼠标左键 397 0642 如何模拟鼠标操作 398 0643 如何实现鼠标穿透窗体 399 0644 如何记录鼠标行为 399 15.2 键盘操作技巧应用 400 0645 如何禁用输入法编辑器 400 0646 如何打开和关闭输入法编辑器 400 0647 回车转换成Tab键 400 0648 如何获取组合键 401 0649 如何获取功能键 401 0650 如何判断NumLock键和CapsLock键是否锁定 401 0651 如何屏蔽 Alt + F4 键关闭窗体 402 0652 如何实现按下 Esc 键关闭窗体 402 0653 如何避免按 Enter 键产生“嘀”声 403 0654 如何设置键盘热键 403 第16章 文件、文件管理及数据流 405 16.1 获取文件基本信息 406 0655 获取文件创建的日期和时间 406 0656 如何检索路径中的文件名和扩展名 406 0657 如何获得文件的大小 407 0658 如何修改文件属性 407 0659 如何监视文件系统变化情况 408 0660 如何获取文件的系统启动方式 408 0661 如何获取文件名禁止使用的字符 409 0662 如何获取路径名禁止使用的字符 410 0663 如何获取指定目录的上级目录 410 16.2 文件基本操作 411 0664 判断文件是否存在 411 0665 创建一个文件用于写入UTF-8编码的文本 411 0666 OpenRead方法打开现有文件并读取 412 0667 打开现有UTF-8编码文本文件并进行读取 412 0668 OpenWrite方法打开现有文件并进行写入 413 0669 如何读取文件中的第一行数据 413 0670 如何向文件中写入数据 413 0671 如何读取文件中所有数据 414 0672 如何创建临时文件 414 0673 如何实现文件替换 415 0674 使用递归法删除文件夹中所有文件 415 0675 如何更改文件扩展名 416 0676 如何实现复制文件 416 0677 如何修改文件名 416 0678 如何删除文件 417 0679 如何上传文件 417 0680 如何下载文件 418 0681 如何拖放文件 419 0682 如何搜索文件 419 16.3 文件夹基本操作 420 0683 如何创建文件夹 420 0684 如何移动文件夹 420 0685 如何修改文件夹名称 421 0686 如何遍历文件夹 421 0687 如何删除文件夹 422 16.4 数据流操作 422 0688 如何读写内存数据流 422 0689 如何创建二进制文件 423 0690 如何读取二进制文件 423 0691 如何使用缓冲流 424 16.5 加密、解密及解压缩文件 425 0692 加密和解密文件 425 0693 如何使用对称算法加密文件 425 0694 如何使用对称算法解密文件 426 0695 如何使用GZip压缩文件 427 0696 如何使用GZip解压文件 428 0697 如何使用WinRAR压缩文件 429 0698 如何使用WinRAR解压文件 429 16.6 其他 430 0699 设置文件的访问模式 430 0700 如何在C#应用程序中使用INI文件 430 0701 如何操作帮助文件 431 0702 如何操作Word文件 432 0703 如何操作Excel文件 433 0704 如何将文本文件转换成网页文件 434 0705 如何产生随机文件夹名或文件名 435 0706 如何将长文件名转换成短文件名 436 0707 如何用程序创建XML文档并写入内容 436 0708 如何通过DataSet对象读取XML文件 438 0709 如何动态创建XML文件节点 439 0710 如何实现XML文件数据类型的转换 439 0711 将图片保存到XML文件中 440 0712 如何比较两个文件的内容是否相同 440 0713 如何以缩略图形式上传图片文件 441 0714 如何解析只有一种格式的文本文件 442 0715 如何解析含有多种格式的文本文件 443 第17章 Windows开发技术 445 17.1 获取计算机系统信息 446 0716 如何获取系统时间 446 0717 如何获取系统目录 446 0718 如何获取计算机名称 446 0719 如何获取当前程序运行目录 446 0720 如何获得操作系统版本号 446 17.2 获取计算机硬件信息 446 0721 如何获取CPU编号 446 0722 如何获取显示设备的PNPDeviceID 447 0723 如何获取声音设备的PNPDeviceID 447 0724 如何获取硬盘编号 447 0725 如何获取CPU的版本信息 448 0726 如何获取CPU的产品名称信息 448 0727 如何获取CPU的制造商名称 448 0728 如何获取主板制造商 449 0729 如何获取主板编号 449 0730 如何获取主板型号 449 0731 如何获取磁盘空间 450 0732 如何获取磁盘剩余空间 450 0733 如何确定屏幕的分辨率 451 0734 如何获得磁盘的卷标 452 0735 如何获得磁盘的文件系统类型 452 17.3 获取特殊文件夹路径 453 0736 如何获取ProgramFiles目录全路径 453 0737 如何获取桌面目录全路径 453 0738 如何获取开始菜单目录全路径 454 0739 如何获取用户程序组目录全路径 454 0740 如何获取文档模板目录全路径 455 0741 如何获取收藏夹目录全路径 455 0742 如何获取共享组件目录全路径 456 0743 如何获取我的图片目录全路径 456 0744 如何获取Internet历史记录全路径 457 0745 如何获取Internet临时文件目录全路径 457 0746 如何设置可用样式 457 17.4 获得Windows当前用户 458 0747 如何获取当前用户 458 0748 如何判断当前用户是否是普通用户 458 0749 如何判断当前用户是否是超级用户 458 0750 如何判断当前用户是否是系统管理员 459 0751 如何判断当前用户是否是系统操作员 459 0752 如何判断当前用户是否是备份操作员 460 0753 如何判断当前用户是否是打印操作员 460 0754 如何判断当前用户是否是复制程序员 461 0755 如何判断当前用户是否是账户操作员 461 17.5 Windows日志 462 0756 如何获取系统日志信息 462 0757 如何获取安全日志信息 462 0758 如何获取应用程序日志信息 463 0759 如何创建并写入自定义日志信息 464 0760 如何向系统日志写入自定义数据 464 0761 如何向应用程序日志写入自定义信息 465 17.6 计算机控制 465 0762 列举系统中所有窗口 465 0763 C#实现键盘钩子 465 0764 如何关闭计算机 466 0765 如何抓屏 466 0766 如何休眠计算机 467 0767 如何禁止使用Windows任务管理器 468 0768 如何为文件新增右键菜单项 468 0769 如何设置系统仅能运行的程序 469 0770 如何获取本地计算机上所有的进程 469 0771 如何启动一个进程 470 0772 怎样杀死一个进程 470 0773 如何获取远程计算机上所有的进程 470 17.7 其他相关技术 470 0774 如何在注册表中保存窗体的大小和位置 470 0775 如何实现程序间注册表内传递变量 471 0776 在使用OpenFileDialog中的相对路径问题 471 0777 如何设置启动时自动执行程序 471 0778 C#编程实现Windows XP风格的界面 471 0779 用C#实现文件查找功能 473 0780 如何序列化对象 473 0781 如何实现特殊形状的窗体 474 0782 如何移动正在使用的文件 474 0783 如何实现类似QQ的程序界面 475 0784 如何实现动画显示窗体 476 0785 如何显示和隐藏任务栏 477 0786 如何实现OutLook界面 478 0787 如何在C#中回车换行 478 0788 如何获取进程的命令行 479 0789 如何按行读取文本并显示行数 479 0790 如何在Form中嵌入Excel 479 0791 如何使用互斥量禁止程序运行两个实例 480 0792 如何使用进程名禁止程序运行两个实例 480 0793 如何获取控制台应用程序的显示结果 481 0794 如何用@代替路径中的转义字符 482

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧