android图片转视频
1、权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
2、main
package com.fpt.imagetovideomaster;import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;import com.googlecode.javacv.FFmpegFrameRecorder;
import com.googlecode.javacv.FrameRecorder;
import com.googlecode.javacv.cpp.opencv_core;import java.io.File;
import java.io.IOException;import static com.googlecode.javacv.cpp.opencv_highgui.cvLoadImage;public class TwoMain extends Activity {public static final String IMAGE_TYPE = ".jpg";private Button btn;FFmpegFrameRecorder recorder;File file;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn=findViewById(R.id.main_btn_start);requestAllPower();//方法在第4步btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {imageToMp4();}});}private void imageToMp4() {// 生成的新文件名final String newFileName = "/sdcard/1/test_" + System.currentTimeMillis() + ".mp4";final double frameRate = 1;//1表示1秒1个照片,
//new Thread() {@Overridepublic void run() {Log.d("test", "开始将图片转成视频啦...frameRate=" + frameRate);try {file=new File(newFileName);if (!file.exists()){try {file.createNewFile();Log.d("main", "创建");} catch (IOException e) {}}
// for (int i=0;i<100;i++) {
// file = new File("/sdcard/1/ok" + i + ".mp4");//houq、、后期优化
// if (!file.exists()) {
// try {
// file.createNewFile();
// Log.d("main", "创建");
// break;
// } catch (IOException e) {
//
// }
// }
// Log.e("main", "continiu");
// continue;//终结本次循环,
// }try{Log.e("main", "luzhi"+file.getPath());Bitmap bitmap=BitmapFactory.decodeFile("/sdcard/1/1.jpg");recorder=new FFmpegFrameRecorder(file,bitmap.getWidth(),bitmap.getHeight(),0);//设置视频的宽高,这里设置的是以第一张照片为宽高为基准的。} catch (Exception e){// Toast.makeText(getApplicationContext(), "recorder", Toast.LENGTH_LONG).show();}recorder.setFormat("mp4");// 录像帧率recorder.setFrameRate(frameRate);
// recorder.setPixelFormat(avutil.AV_PIX_FMT_YUV420P);// 记录开始recorder.start();int index = 0;while (index < 21) {// 获取图片--图片格式为head1.png,head2.png...head8.pngopencv_core.IplImage image = cvLoadImage("/sdcard/1/"+ index+ TwoMain.IMAGE_TYPE);//这里的:TwoMain.IMAGE_TYPE是当前类中的变量,他的值为:jpgrecorder.record(image);index++;}Log.d("test", "录制完成....");// 录制结束recorder.stop();} catch (FrameRecorder.Exception e) {e.printStackTrace();}}}.start();}
}
3、需要.so文件;javacpp、javacv,不然会报错
4、加入上述包之后,如果调试版本在6.0以上,需要进行动态申请权限
public void requestAllPower() {if (ContextCompat.checkSelfPermission(this,Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED) {if (ActivityCompat.shouldShowRequestPermissionRationale(this,Manifest.permission.WRITE_EXTERNAL_STORAGE)) {} else {ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE}, 1);}}}
android图片转视频相关推荐
- Android图片,视频,音乐选择播放器
1.设计目的 为了更加深入的了解Android开发,我最初是打算设计是建立一个相册或视频相关的多媒体的应用,但一次偶然的机会我看到了在github中一个框架,该框架中定义了许多有关图片和视频相关操作的 ...
- android图片视频图片封装,Android图片、视频资源选择库(支持图片/视频/仿微信拍照、拍视频)...
简介 Android媒体资源选择库(支持图片/视频/仿微信拍照.拍视频),非常简单使用,支持图库多选.单选.仿微信拍照拍视频.系统照相机拍照拍视频(v1.1.2).如需使用美颜滤镜.简单图片编辑,ff ...
- android 图片 生成视频,照片制作成视频的方案有吗?如何视频安卓手机视频编辑器将手机里的照片制作成视频...
狸窝是帮助用户解决问题 提供教程解决方案 在这个过程中有使用我们自己开发的软件 也有网上找的工具 只要帮助用户解决问题就好!同意即往下继续了解下载 ... 在现在这个信息时代,几乎都是人手一部智能手机 ...
- android获取图片缩略图,Android系获取图片和视频的缩略图
获取手机里视频缩略图: public static Bitmap getVideoThumbnail(ContentResolver cr,Uri uri) { Bitmap bitmap = nul ...
- Android之获取手机上的图片和视频缩略图thumbnails
2019独角兽企业重金招聘Python工程师标准>>> [0]大家都知道Android从1.5开始刚插入SD卡时系统会调用MediaScanner服务进行后台扫描,索引新的歌曲.图片 ...
- android 分享图片和视频
今天,简单讲讲如何调用手机的分享功能进行分享. 目前实现一键分享功能的方式有两种: 1.需要集成第三方官方SDK包,在获得官方授权后调用其API来完成一键分享功能,例如使用友盟分享等 优点:无 ...
- Android之靠谱的把图片和视频插入手机系统相册
1 需求 把图片和视频插入手机系统相册,网上查了下基本上很乱,没几个靠谱的. 2 结果爆照 3 思路 图片插入系统相册(可以直接插入系统相册,但是我这里多做了一步就是先把图片拷贝到了一个目录再插入系统 ...
- android 查询所有图片和视频,Android系统详解之获取图片和视频的缩略图
从Android 2.2开始系统新增了一个缩略图ThumbnailUtils类,位于framework的android.media.ThumbnailUtils位置,可以帮助我们从mediaprovi ...
- android 3d布局轮播,android 图片/视频混合轮播控件banner
android 图片/视频混合轮播控件banner 在youth5201314的图片轮播控件做的修改 原作者github地址:https://github.com/youth5201314/banne ...
最新文章
- (Interrupt Latency) 中断延迟
- 5G到底有多块?刚刚5G商用牌照正式发布,一共 4 张!
- 关系运算符、逻辑 运算符与三元运算符
- Java受查异常和运行时异常的理解
- 6-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于Wi-Fi,同时支持升级Wi-Fi,APP控制版)...
- ​MobileViT 它来了!Apple 提出轻量、通用、适用于移动设备的Transformer!
- (58)FPGA乘法器实现(task)
- C#.NET验证码智能识别学习笔记---05C#.Net图片预处理
- myBatis association的两种形式
- LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化
- VM 虚拟机 centos7 安装redis
- Linux自学、大数据学习前奏笔记---Linux基础知识,shell命令介绍学习
- 采用Minitab进行logistic回归分析
- 9550电机_扭矩公式9550是什么 电机扭矩计算公式T=9550P/n怎么算
- 走近篮球运动·体育项目
- php加壳,文件加壳实现(三) —— ZwUnmapViewOfSection
- python项目实战:免费下载kugou任意付费音乐
- 幸福三月丨盐城北大青鸟女神节快乐!
- 【Linux_】权限
- Java HotSpot(TM) 64-Bit Server VM warning:Options -Xverify:none and -noverify were deprecated in ..