设为首页 加入收藏

TOP

Android开发之打开闪光灯录制视频(四)
2015-07-16 12:57:40 来源: 作者: 【 】 浏览:41
Tags:Android 开发 打开 闪光灯 录制 视频
? ? ? ? ? ? ? ? mediaRecorder.stop();
? ? ? ? ? ? ? ? ? ? ? ? mediaRecorder.reset();
? ? ? ? ? ? ? ? ? ? ? ? Log.i(TAG,"TAG-1");
? ? ? ? ? ? ? ? ? ? ? ? if(camera!=null){
? ? ? ? ? ? ? ? ? ? ? ? ? ? camera.lock();
? ? ? ? ? ? ? ? ? ? ? ? ? ? camera.stopPreview();
? ? ? ? ? ? ? ? ? ? ? ? ? ? Camera.Parameters myParameters = camera.getParameters();
? ? ? ? ? ? ? ? ? ? ? ? ? ? myParameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
? ? ? ? ? ? ? ? ? ? ? ? ? ? camera.setParameters(myParameters);
? ? ? ? ? ? ? ? ? ? ? ? ? ? camera.release();
? ? ? ? ? ? ? ? ? ? ? ? ? ? camera = null;
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? // 秒表线程控制? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? if(myChronograph!=null){
? ? ? ? ? ? ? ? ? ? ? ? ? ? myChronograph.exit();
? ? ? ? ? ? ? ? ? ? ? ? ? ? myChronograph = null;
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ((Button)findViewById(R.id.rv_record)).setEnabled(true);
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? } catch (Exception e) {
? ? ? ? ? ? ? ? Toast.makeText(RecordVideoActivity.this, "发生异常", 1).show();
? ? ? ? ? ? ? ? e.printStackTrace();
? ? ? ? ? ? }
? ? ? ? }
? ? ? ?
? ? }
? ?
? ? private Handler mHandler = new Handler(){


? ? ? ? @Override
? ? ? ? public void handleMessage(Message msg) {
? ? ? ? ? ? String[] strMsg;
? ? ? ? ? ? switch (msg.what) {
? ? ? ? ? ? case MsgNumber.UPTIME_UI:
? ? ? ? ? ? ? ? strMsg = (String[]) msg.obj;
? ? ? ? ? ? ? ? chronograph.setText(strMsg[0]);
? ? ? ? ? ? ? ? if(!recordOver){
? ? ? ? ? ? ? ? ? ? int percent = Integer.parseInt(strMsg[1]);
? ? ? ? ? ? ? ? ? ? if(percent==-1){
? ? ? ? ? ? ? ? ? ? ? ? recordOver = true;
? ? ? ? ? ? ? ? ? ? ? ? schedule.setProgress(60);
? ? ? ? ? ? ? ? ? ? ? ? Toast.makeText(RecordVideoActivity.this, "已录制一分钟!", Toast.LENGTH_SHORT).show();
? ? ? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? percent = percent>60?60:percent;
? ? ? ? ? ? ? ? ? ? schedule.setProgress(percent);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? break;


? ? ? ? ? ? default:
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ?
? ? };
? ?
? ? // 闪光灯判断
? ? public boolean isSurportFlashlight(Context context) {
? ? ? ? boolean flag = false;
? ? ? ? PackageManager pm = context.getPackageManager();
? ? ? ? FeatureInfo[] features = pm.getSystemAvailableFeatures();
? ? ? ? for (FeatureInfo f : features) {
? ? ? ? ? ? if (PackageManager.FEATURE_CAMERA_FLASH.equals(f.name)) {
? ? ? ? ? ? ? ? flag = true;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return flag;
? ? }
}


Activity代码,因为非常简单,就没有封装多线程什么的。


import java.io.File;
import java.text.SimpleDateFormat;


import android.content.Context;
import android.content.pm.FeatureInfo;
import android.content.pm.PackageManager;
import android.hardware.Camera;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;


import com.ict.util.IOUtil;


public class RecordVideoActivity extends ActionBarActivity {
? ? private static final String TAG = "RecordVideo";
? ? private SurfaceView surfaceView;
? ? private MediaRecorder mediaRecorder;
? ? private boolean record;? ?
? ? private TextView testusername;
? ? private Camera camera;
? ?
? ? // 计时器相关
? ? private MyChronograph myChronograph;
? ? private TextView chronograph = null;
? ?
? ? private ProgressBar schedule;
? ? private boolean recordOver = false;
? ?
? ? @Override
? ? protected void onCreate(Bundle savedInstanceState) {
? ? ? ? // TODO Aut

首页 上一页 1 2 3 4 5 6 下一页 尾页 4/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android平台之不预览获取照相机预.. 下一篇Android设置选项开发及自定义Pref..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: