基本信息
源码名称:视频拍摄压缩
源码大小:0.79M
文件格式:.rar
开发语言:Java
更新时间:2014-03-27
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

视频拍摄,H264编码压缩,只是一个demo,具体功能请自行添加


public void startRecording(SurfaceView surfaceView) {
        mediarecorder = new MediaRecorder();// 创建mediarecorder对象
        // 设置录制视频源为Camera(相机)
        mediarecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
        // 设置录制完成后视频的封装格式THREE_GPP为3gp.MPEG_4为mp4
        mediarecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        // 设置录制的视频编码h263 h264
        mediarecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
        // 设置视频录制的分辨率。必须放在设置编码和格式的后面,否则报错
        mediarecorder.setVideoSize(176, 144);
        // 设置录制的视频帧率。必须放在设置编码和格式的后面,否则报错
        mediarecorder.setVideoFrameRate(20);
        mediarecorder.setPreviewDisplay(surfaceView.getHolder().getSurface());
        // 设置视频文件输出的路径
        lastFileName = newFileName();
        mediarecorder.setOutputFile(lastFileName);
        try {
            // 准备录制
            mediarecorder.prepare();
            // 开始录制
            mediarecorder.start();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        isRecording = true;
        timeSize = 0;
        timer = new Timer();
        timer.schedule(new TimerTask() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                timeSize ;
            }
        }, 0,1000);
    }

    Timer timer;
    int timeSize = 0;

    private String lastFileName;

    public void stopRecording() {
        if (mediarecorder != null) {
            // 停止
            mediarecorder.stop();
            mediarecorder.release();
            mediarecorder = null;

            timer.cancel();
            if (null != lastFileName && !"".equals(lastFileName)) {
                File f = new File(lastFileName);
                String name = f.getName().substring(0,
                        f.getName().lastIndexOf(".3gp"));
                name = "_" timeSize "s.3gp";
                String newPath = f.getParentFile().getAbsolutePath() "/"
                         name;
                if (f.renameTo(new File(newPath))) {
                    int i = 0;
                    i ;
                }
            }
        }
    }