这一章的主要内容是搜索手机本地视频,添加到ListView列表里,每一个表项含有这个视频的缩略图,视频的播放时间,视频的标题,在搜索本地视频(1)中我们先制作搜索功能。

Video.java--视频相关的属性类

package com.zhangjie.graduation.videopalyer.videofile;import java.io.Serializable;import com.zhangjie.graduation.videopalyer.component.LoadedImage;public class Video implements Serializable{/*** */private static final long serialVersionUID = -7920222595800367956L;private int id;private String title;private String album;private String artist;private String displayName;private String mimeType;private String path;private long size;private long duration;private LoadedImage image;/*** */public Video() {super();}/*** @param id* @param title* @param album* @param artist* @param displayName* @param mimeType* @param data* @param size* @param duration*/public Video(int id, String title, String album, String artist,String displayName, String mimeType, String path, long size,long duration) {super();this.id = id;this.title = title;this.album = album;this.artist = artist;this.displayName = displayName;this.mimeType = mimeType;this.path = path;this.size = size;this.duration = duration;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getAlbum() {return album;}public void setAlbum(String album) {this.album = album;}public String getArtist() {return artist;}public void setArtist(String artist) {this.artist = artist;}public String getDisplayName() {return displayName;}public void setDisplayName(String displayName) {this.displayName = displayName;}public String getMimeType() {return mimeType;}public void setMimeType(String mimeType) {this.mimeType = mimeType;}public String getPath() {return path;}public void setPath(String path) {this.path = path;}public long getSize() {return size;}public void setSize(long size) {this.size = size;}public long getDuration() {return duration;}public void setDuration(long duration) {this.duration = duration;}public LoadedImage getImage(){return image;
   }public void setImage(LoadedImage image){this.image = image;}}

AbstructProvider.java ---一个接口,来获取搜索的视频的一个集合
package com.zhangjie.graduation.videopalyer.videofile;import java.util.List;public interface AbstructProvider {public List<Video> getList();}

VideoProvider.java--- 实现AbstructProvider接口,通过cursor来搜索视频的相关信息
package com.zhangjie.graduation.videopalyer.videofile;import java.util.ArrayList;
import java.util.List;import android.content.Context;
import android.database.Cursor;
import android.provider.MediaStore;public class VideoProvider implements AbstructProvider {private Context context;public VideoProvider(Context context) {this.context = context;}@Overridepublic List<Video> getList() {List<Video> list = null;if (context != null) {Cursor cursor = context.getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null, null,null, null);if (cursor != null) {list = new ArrayList<Video>();while (cursor.moveToNext()) {int id = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media._ID));String title = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.TITLE));String album = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.ALBUM));String artist = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.ARTIST));String displayName = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DISPLAY_NAME));String mimeType = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.MIME_TYPE));String path = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA));long duration = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATION));long size = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.SIZE));Video video = new Video(id, title, album, artist, displayName, mimeType, path, size, duration);list.add(video);}cursor.close();}}return list;}}

最后在主类中使用如下代码来获取最终得到的视频相关信息集合
AbstructProvider provider = new VideoProvider(this);
List<Video>   listVideos = provider.getList();
在上面的listVideos包含了本地所有的视频的相关信息,下一章将会用到listVideos数据。
												

Android本地视频播放器开发--搜索本地视频(1)相关推荐

  1. Android本地视频播放器开发 - 搜索本地视频(1)

    这一章的主要内容是搜索手机本地视频,添加到ListView列表里,每一个表项含有这个视频的缩略图,视频的播放时间,视频的标题,在搜索本地视频(1)中我们先制作搜索功能.   Video.java--视 ...

  2. android 编译 sdl,SDL编译 - Android本地视频播放器开发_Linux编程_Linux公社-Linux系统门户网站...

    在上一章  Android本地视频播放器开发--ffmpeg解码视频文件中的音频(2)[http://www.linuxidc.com/Linux/2013-06/85955p5.htm]中使用Ope ...

  3. Android本地视频播放器开发--SDL编译

    在上一章 Android本地视频播放器开发--ffmpeg解码视频文件中的音频(2)中使用OpenSL ES来播放视频的声音,遗留的问题是声音的不同步,由于视频实现部分也要同步,而且音视频也要同步,所 ...

  4. 实现在Android本地视频播放器开发

    在Android本地视频播放器开发中的搜索本地视频章节中,我们能够搜索本地视频并且显示每个视频的图片.标题.时间长度,当然如果需要添加其他的例如视频的长度和宽度可以使用Video类中的方法,既然我们获 ...

  5. Android本地视频播放器开发--NDK编译FFmpeg

    在Android本地视频播放器开发中的搜索本地视频章节中,我们能够搜索本地视频并且显示每个视频的图片.标题.时间长度,当然如果需要添加其他的例如视频的长度和宽度可以使用Video类中的方法,既然我们获 ...

  6. Android本地视频播放器开发--视频解码

    在上一章Android本地视频播放器开发--SDL编译编译中编译出sdl的支持库,当时我们使用的2.0,但是有些api被更改了,所以在以下的使用者中我们使用SDL1.3的库,这个库我会传上源码以及编译 ...

  7. android音视频播放器开发百度云,Android 播放端 SDK

    1 概述 PLDroidPlayer 是一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发,为 Android 开发者提供了简单.快捷的接口,帮助开发者在 Android ...

  8. 学习笔记(2):基于NDK、C++、FFmpeg的android视频播放器开发实战-音视频基础知识Mpeg4封装格式音视频编码格式讲解...

    立即学习:https://edu.csdn.net/course/play/7417/151027?utm_source=blogtoedu 封装:将音视频从文件中读出来 解码:解压出来,转换成显卡支 ...

  9. Android VR Player(全景视频播放器) [6]:视频列表的实现-本地视频

    Android VR Player(全景视频播放器) [6]:视频列表的实现-本地视频 (本篇博客参考<Android第一行代码(第二版)>中关于RecyclerView的部分) 列表的实 ...

最新文章

  1. IE7的web标准之道——7:(修正)float双倍margin bug
  2. “斐波那契数列”的两种算法
  3. eclipse/MyEclipse 日期格式、注释日期格式、时区问题
  4. 一.Spring框架基础
  5. 面向切面编程AspectJ在Android埋点的实践
  6. android开不了机怎么办手机号码,手机开不了机怎么办 原因分析及其解决方法
  7. 笔记五:python字符串
  8. 趣图:程序猿和运维狗的工作日常……
  9. python xml解析库_Python xml解析库xml_models2
  10. gx works2 版本号_GX Works2下载 GX Works2(PLC编程软件) v1.89C 中文安装版(附序列号+安装教程) 下载-脚本之家...
  11. aix服务器端口配置文件,aix系统查看端口号
  12. 关于word使用之三线表制作
  13. 勒让德多项式(Legendre Polynomials)推导
  14. 安卓图片分类浏览器php,Android快速实现图片浏览
  15. win10计算机桌面快捷方式,Win10程序快捷方式添加到桌面上的两种方法
  16. 7-5 判断输入的字符是哪种类型
  17. 如何区分客户端是手机端还是PC端
  18. 胜为蓝牙适配器驱动_胜为UCD-324蓝牙适配器驱动
  19. js倒计时代码(从现在距离明年元旦还剩多少时间)?
  20. 像素、分辨率、dpi的通俗理解

热门文章

  1. 计算机专业实训主要内容,计算机专业的实习内容怎么写
  2. arduino入门教程书籍推荐,arduino从入门到精通
  3. 三维重建(一)外极几何,基础矩阵及求解
  4. 12864液晶显示出十进制数据
  5. OWASP ZAP 扫描漏洞误报分析
  6. win10右键卡顿原因_Win10 右键卡顿解决办法
  7. 心、肝、脾、肺、肾的毒藏在哪,你知道吗?
  8. web客户端页面连接MQTT服务
  9. 给微信新增的群接龙功能加一个AI, 增长黑客必备技能
  10. Java 获取Word批注所标记的文本和图片