Android视频开发简易方法
来源:互联网 发布:大数据带来的社会效益 编辑:程序博客网 时间:2024/05/16 19:25
一些简易的视频开发代码。
一、视频的读取,显示
安卓提供了一个VideoView类,用起来很方便。如果仅仅是播放视频,这个类足够用了。但是扩展性不好。
它继承自SurfaceView并实现了MediaPlayerControl接口,并封装了一个MediaPlayer对象。如果有兴趣可以仿照他自己实现一个,方便扩展。
文章有很多,不赘述了。
视频读取最麻烦是缩略图的显示。尤其是在2.2之前。2.2提供了一个ThumbnailUtils类,可以方便的取到缩略图,但是之前的版本没有。需要手动取。
不多说了,上代码。
String whereClause = MediaStore.Video.Media.DATA + " = '" + "/sdcard/DCIM/Camera/2011-03-12_11-07-40_252.3gp" + "'"; Cursor cursor = getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, new String[] { MediaStore.Video.Media._ID }, whereClause, null, null); if (cursor == null || cursor.getCount() == 0) { return; } cursor.moveToFirst(); int videoId = cursor.getInt(cursor.getColumnIndex(MediaStore.Video.Media._ID)); BitmapFactory.Options options = new BitmapFactory.Options(); options.inDither = false; options.inPreferredConfig = Bitmap.Config.ARGB_8888; Bitmap bm = Thumbnails.getThumbnail(getContentResolver(), videoId, Images.Thumbnails.MINI_KIND, options);
2.2则做了封装。
二、视频的保存
保存视频需要把视频保存到媒体库中。代码:
ContentValues values = new ContentValues(3);long current = System.currentTimeMillis();values.put(MediaStore.Video.Media.TITLE, "video" + f.getName());values.put(MediaStore.Video.Media.DATE_ADDED, (int) (current / 1000));values.put(MediaStore.Video.Media.MIME_TYPE, "video/3gpp");values.put(MediaStore.Video.Media.DATA, f.getAbsolutePath());ContentResolver contentResolver = getContentResolver();Uri base = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;Uri newUri = contentResolver.insert(base, values);sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, newUri));
- Android视频开发简易方法
- Android本地视频播放器开发--简易播放器原型
- Android本地视频播放器开发--简易播放器原型
- Android简易视频播放器
- android开发简易浏览器
- android 简易视频播放器的实现
- Android Launcher--简易Launcher开发
- Android Launcher -- 简易Launcher开发
- Android Launcher--简易Launcher开发
- Android Launcher--简易Launcher开发
- Android Launcher--简易Launcher开发
- Android NDk 开发简易教程
- Android NDK简易开发指南
- Android sdk开发,eclipse和android studio打jar包的简易方法
- Android Launcher开发学习--简易Launcher开发
- 使用Flex 和 Red5开发简易视频直播功能
- 使用Flex 和 Red5开发简易视频直播功能
- Android视频开发浅析
- 3pg/mp4 specification
- The AndroidManifest.xml File
- 被拒了
- 剖析Windows消息处理机制
- 从数据库中查询出ID最大值并且加1作为下一条记录的起始条件会出现的问题
- Android视频开发简易方法
- 学习笔记之junit总结
- Java中Integer和int的区别
- 自加操作符
- ORA-00604 递归 SQL 级别 1 出现错误,ORA-01000 超出打开游标的最大数
- VS2008与Matlab混合编程
- SQL数据库设计规范参考之数据库对象命名详细文档
- java.lang.IllegalArgumentException: argument type mismatch
- UIPopoverController