Android开发——SD卡_扫描SD卡中视频、音频文件
来源:互联网 发布:网络直播的定义 编辑:程序博客网 时间:2024/04/28 22:11
如果想要自己实现的视频播放器读取本地视频并播放,该如何做呢?有两种方法可以实现:
方法一:遍历所有文件夹,通过判断文件的扩展名来确定是否为要找的文件
方法二:Android在开机时对所有的视频、音频文件进行扫描,并将其存在本地媒体库MediaStore中,所以我们可以通过访问MediaStore来获得本地视频文件。
Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;Cursor c = MainActivity.this.getContentResolver().query(uri, null, null, null, MediaStore.Video.Media.DEFAULT_SORT_ORDER);//内容提供器
// MediaStore.Video.Thumbnails.DATA:视频缩略图的文件路径 String[] thumbColumns = { MediaStore.Video.Thumbnails.DATA, MediaStore.Video.Thumbnails.VIDEO_ID }; // MediaStore.Video.Media.DATA:视频文件路径; // MediaStore.Video.Media.DISPLAY_NAME : 视频文件名,如 testVideo.mp4 // MediaStore.Video.Media.TITLE: 视频标题 : testVideo String[] mediaColumns = { MediaStore.Video.Media._ID, MediaStore.Video.Media.DATA, MediaStore.Video.Media.TITLE, MediaStore.Video.Media.MIME_TYPE, MediaStore.Video.Media.DISPLAY_NAME }; cursor = getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, mediaColumns, null, null, null); if(cursor==null){ Toast.makeText(SystemVideoChooseActivity.this, "没有找到可播放视频文件", 1).show(); return; } if (cursor.moveToFirst()) { do { VideoInfo info = new VideoInfo(); int id = cursor.getInt(cursor .getColumnIndex(MediaStore.Video.Media._ID)); Cursor thumbCursor = getContentResolver().query( MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI, thumbColumns, MediaStore.Video.Thumbnails.VIDEO_ID + "=" + id, null, null); if (thumbCursor.moveToFirst()) { thumbPath = (thumbCursor.getString(thumbCursor .getColumnIndex(MediaStore.Video.Thumbnails.DATA)); } } while (cursor.moveToNext()); }
0 0
- Android开发——SD卡_扫描SD卡中视频、音频文件
- Android获取SD卡视频音频文件
- Android获取SD卡视频音频文件
- Android获取SD卡视频音频文件
- Android获取SD卡视频音频文件
- android 扫描手机内存和SD卡,获取手机的视频、音频文件。把获取不到的文件扫描出来
- 查看手机SD卡视频音频文件信息
- Android开发——SD卡权限
- 扫描sd卡
- 扫描SD卡文件夹
- Android开发中SD卡文件读写
- android 扫描SD卡与系统文件
- Android扫描sd卡和系统文件
- Android回顾之SD卡文件扫描
- Android扫描sd卡和系统文件
- Android扫描sd卡和系统文件
- Android 扫描SD卡中的所有视频文件
- Android中显示sd卡的图片和视频
- 1005. Spell It Right (20)
- leecode 解题总结:117. Populating Next Right Pointers in Each Node II
- android 将图片压缩到指定的大小
- (Mysql 六)事务
- 在Servlet的GenericServlet类中为什么有两个init()方法
- Android开发——SD卡_扫描SD卡中视频、音频文件
- android修改静态ip(支持3.x,4.x,5.x)
- 1006 Sign In and Sign Out (25)
- C++析构函数
- java读写txt文件
- Composer: The openssl extension is missing, which means that secure HTTPS transfers are impossible.
- RCTViewManger
- 1007. Maximum Subsequence Sum (25)
- PAT_1017. Queueing at Bank