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图片转视频相关推荐

  1. Android图片,视频,音乐选择播放器

    1.设计目的 为了更加深入的了解Android开发,我最初是打算设计是建立一个相册或视频相关的多媒体的应用,但一次偶然的机会我看到了在github中一个框架,该框架中定义了许多有关图片和视频相关操作的 ...

  2. android图片视频图片封装,Android图片、视频资源选择库(支持图片/视频/仿微信拍照、拍视频)...

    简介 Android媒体资源选择库(支持图片/视频/仿微信拍照.拍视频),非常简单使用,支持图库多选.单选.仿微信拍照拍视频.系统照相机拍照拍视频(v1.1.2).如需使用美颜滤镜.简单图片编辑,ff ...

  3. android 图片 生成视频,照片制作成视频的方案有吗?如何视频安卓手机视频编辑器将手机里的照片制作成视频...

    狸窝是帮助用户解决问题 提供教程解决方案 在这个过程中有使用我们自己开发的软件 也有网上找的工具 只要帮助用户解决问题就好!同意即往下继续了解下载 ... 在现在这个信息时代,几乎都是人手一部智能手机 ...

  4. android获取图片缩略图,Android系获取图片和视频的缩略图

    获取手机里视频缩略图: public static Bitmap getVideoThumbnail(ContentResolver cr,Uri uri) { Bitmap bitmap = nul ...

  5. Android之获取手机上的图片和视频缩略图thumbnails

    2019独角兽企业重金招聘Python工程师标准>>> [0]大家都知道Android从1.5开始刚插入SD卡时系统会调用MediaScanner服务进行后台扫描,索引新的歌曲.图片 ...

  6. android 分享图片和视频

    今天,简单讲讲如何调用手机的分享功能进行分享. 目前实现一键分享功能的方式有两种: 1.需要集成第三方官方SDK包,在获得官方授权后调用其API来完成一键分享功能,例如使用友盟分享等     优点:无 ...

  7. Android之靠谱的把图片和视频插入手机系统相册

    1 需求 把图片和视频插入手机系统相册,网上查了下基本上很乱,没几个靠谱的. 2 结果爆照 3 思路 图片插入系统相册(可以直接插入系统相册,但是我这里多做了一步就是先把图片拷贝到了一个目录再插入系统 ...

  8. android 查询所有图片和视频,Android系统详解之获取图片和视频的缩略图

    从Android 2.2开始系统新增了一个缩略图ThumbnailUtils类,位于framework的android.media.ThumbnailUtils位置,可以帮助我们从mediaprovi ...

  9. android 3d布局轮播,android 图片/视频混合轮播控件banner

    android 图片/视频混合轮播控件banner 在youth5201314的图片轮播控件做的修改 原作者github地址:https://github.com/youth5201314/banne ...

最新文章

  1. (Interrupt Latency) 中断延迟
  2. 5G到底有多块?刚刚5G商用牌照正式发布,一共 4 张!
  3. 关系运算符、逻辑 运算符与三元运算符
  4. Java受查异常和运行时异常的理解
  5. 6-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于Wi-Fi,同时支持升级Wi-Fi,APP控制版)...
  6. ​MobileViT 它来了!Apple 提出轻量、通用、适用于移动设备的Transformer!
  7. (58)FPGA乘法器实现(task)
  8. C#.NET验证码智能识别学习笔记---05C#.Net图片预处理
  9. myBatis association的两种形式
  10. LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化
  11. VM 虚拟机 centos7 安装redis
  12. Linux自学、大数据学习前奏笔记---Linux基础知识,shell命令介绍学习
  13. 采用Minitab进行logistic回归分析
  14. 9550电机_扭矩公式9550是什么 电机扭矩计算公式T=9550P/n怎么算
  15. 走近篮球运动·体育项目
  16. php加壳,文件加壳实现(三) —— ZwUnmapViewOfSection
  17. python项目实战:免费下载kugou任意付费音乐
  18. 幸福三月丨盐城北大青鸟女神节快乐!
  19. 【Linux_】权限
  20. Java HotSpot(TM) 64-Bit Server VM warning:Options -Xverify:none and -noverify were deprecated in ..

热门文章

  1. UE4让物体始终朝向摄像机(二)—RInterp To用法
  2. 【数据结构】栈的应用-算术表达式求值#数据结构实验任务书
  3. Tech Lead 实践
  4. golang $or $in $ge $gte 查询使用
  5. 青瓷游戏递表港交所:收入猛增,毛利率走低,研发占比不值一提
  6. 密码学---数字签名和认证协议---数字签名标准
  7. LAME应用教学--HIFI级MP3制作之路
  8. 【状语从句练习题】状语从句 + 过去完成时
  9. 后端开发、C++开发面经分类整理
  10. 知乎上的一道问题:出家人怎么解决性欲?