当前访客身份:游客 [ 登录 | 加入开源中国 ]

代码分享

当前位置:
代码分享 » Java  » 手机App开发
分享到: 
收藏 +0
2
<无详细内容>
标签: Android SDK 精华

代码片段(1) [全屏查看所有代码]

1. [文件] RecordActivity.java ~ 5KB     下载(2780)     跳至 [1] [全屏预览]

package com.cons.dcg.collect;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.*;
import android.app.*;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.view.*;
import android.widget.*;

public class RecordActivity extends Activity implements OnClickListener {

        private static final int RESULT_CAPTURE_IMAGE = 1;// 照相的requestCode
        private static final int REQUEST_CODE_TAKE_VIDEO = 2;// 摄像的照相的requestCode
        private static final int RESULT_CAPTURE_RECORDER_SOUND = 3;// 录音的requestCode
       
        private String strImgPath = "";// 照片文件绝对路径
        private String strVideoPath = "";// 视频文件的绝对路径
        private String strRecorderPath = "";// 录音文件的绝对路径

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                this.setContentView(R.layout.problem_report);
        }

        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
                super.onActivityResult(requestCode, resultCode, data);
                switch (requestCode) {
                case RESULT_CAPTURE_IMAGE://拍照
                        if (resultCode == RESULT_OK) {
                                Toast.makeText(this, strImgPath, Toast.LENGTH_SHORT).show();
                        }
                        break;
                case REQUEST_CODE_TAKE_VIDEO://拍摄视频
                        if (resultCode == RESULT_OK) {
                                Uri uriVideo = data.getData();
                                Cursor cursor=this.getContentResolver().query(uriVideo, null, null, null, null);
                                if (cursor.moveToNext()) {
                                        /** _data:文件的绝对路径 ,_display_name:文件名 */
                                        strVideoPath = cursor.getString(cursor.getColumnIndex("_data"));
                                        Toast.makeText(this, strVideoPath, Toast.LENGTH_SHORT).show();
                                }
                        }
                        break;
                case RESULT_CAPTURE_RECORDER_SOUND://录音
                        if (resultCode == RESULT_OK) {
                                Uri uriRecorder = data.getData();
                                Cursor cursor=this.getContentResolver().query(uriRecorder, null, null, null, null);
                                if (cursor.moveToNext()) {
                                        /** _data:文件的绝对路径 ,_display_name:文件名 */
                                        strRecorderPath = cursor.getString(cursor.getColumnIndex("_data"));
                                        Toast.makeText(this, strRecorderPath, Toast.LENGTH_SHORT).show();
                                }
                        } 
                        break;
                }
        }
       
       

        /**
         * 照相功能
         */
        private void cameraMethod() {
                Intent imageCaptureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                strImgPath = Environment.getExternalStorageDirectory().toString() + "/CONSDCGMPIC/";//存放照片的文件夹
                String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".jpg";//照片命名
                File out = new File(strImgPath);
                if (!out.exists()) {
                        out.mkdirs();
                }
                out = new File(strImgPath, fileName);
                strImgPath = strImgPath + fileName;//该照片的绝对路径
                Uri uri = Uri.fromFile(out);
                imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
                imageCaptureIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
                startActivityForResult(imageCaptureIntent, RESULT_CAPTURE_IMAGE);

        }

        /**
         * 拍摄视频
         */
        private void videoMethod() {
                Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
                intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
                startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO);
        }

        /**
         * 录音功能
         */
        private void soundRecorderMethod() {
                Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                intent.setType("audio/amr");
                startActivityForResult(intent, RESULT_CAPTURE_RECORDER_SOUND);
        }

        /**
         * 提示信息
         * @param text
         * @param duration
         */
        private void showToast(String text, int duration) {
                Toast.makeText(ProblemReport.this, text, duration).show();
        }
}


开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»

发表评论 回到顶部 网友评论(23)

  • 1楼:sisyphus 发表于 2012-02-24 16:16 回复此评论
    不错,学习下~··
  • 2楼:你猜你猜猜猜 发表于 2012-03-19 13:56 回复此评论
    学习学习
  • 3楼:kangbo 发表于 2012-03-20 13:13 回复此评论
    学习中
  • 4楼:makenew 发表于 2012-03-27 22:33 回复此评论
    不错哦。看下。学习学习
  • 5楼:老腊肉 发表于 2012-04-26 02:09 回复此评论
    123
  • 6楼:Askyle 发表于 2012-07-11 22:45 回复此评论
     OnClickListener problem_report  报错!
  • 7楼:老佛爷 发表于 2012-07-28 13:30 回复此评论
    学习一下
  • 8楼:王宇杰 发表于 2012-09-01 00:31 回复此评论

    为什么照相功能的保存在4.0的SDK下面不能用呢,执行不了,
    /**  

         * 照相功能  

           */

           private void cameraMethod() {  

                Intent imageCaptureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  

                 strImgPath = Environment.getExternalStorageDirectory().toString() + "/CONSDCGMPIC/";//存放照片的文件夹  

                    String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".jpg";//照片命名  

                 File out = new File(strImgPath);  

                 if (!out.exists()) {  

                             out.mkdirs();  

                }  

                 out = new File(strImgPath, fileName);  

                    strImgPath = strImgPath + fileName;//该照片的绝对路径  

                  Uri uri = Uri.fromFile(out);  

                 imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);  

                   imageCaptureIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);  

                     startActivityForResult(imageCaptureIntent, RESULT_CAPTURE_IMAGE);  

      

          }


    红色部分执行不了

    楼主,你知道怎么处理吗,谢谢了,帮忙一下吧,我的号是1297234270,谢谢

  • 9楼:孙田 发表于 2012-09-20 14:58 回复此评论
    得与时俱进了
  • 10楼:北京小强 发表于 2012-12-19 14:40 回复此评论
    学习 下
  • 11楼:never_rep 发表于 2013-03-11 11:36 回复此评论
    学习学习
  • 12楼:iAnonymous 发表于 2013-07-18 12:03 回复此评论
  • 13楼:MissShq 发表于 2013-09-24 13:39 回复此评论
    其实我想说 为什么不挂一个项目文件的呢。。
  • 14楼:wuheihei 发表于 2014-02-19 16:27 回复此评论
    可以借鉴下
  • 15楼:安卓小萌神 发表于 2014-03-31 09:50 回复此评论
    很好,不错!
  • 16楼:那年4 发表于 2014-04-30 13:50 回复此评论
    xml文件在哪里,运行了这个类没感觉啊
  • 17楼:ella_yang 发表于 2014-08-23 19:19 回复此评论

    高新诚聘语音识别应用系统开发经理(年薪30-40W)

    1、本科及以上计算机软件及相关学历;

    2、3年以上工作经验,2年以上Android开发经验,1年以上团队管理经验; 

    3、精通Android开发,熟练使用Java、C/C++语言;熟悉Android应用开发框架、数据库开发、Socket通信、HTTP编程,能独立开发高性能的Android应用 ;

    4、掌握通用的设计原则和常用的设计模式,良好的代码习惯; 

    5、对数据结构、基本算法熟练掌握,能够独立担任架构和核心功能的设计工作; 

    6、快速、准确分析业务需求,制定实现方案与项目计划及前瞻性的技术架构; 

    5、工作地在北京海淀区

    6、联系方式:qq:187136351;电话/微信:18910286892

  • 18楼:江湖人儿 发表于 2014-09-11 16:54 回复此评论
    这个代码可以实现快速拍照吗? 就是不管图片质量,只要速度快。
  • 19楼:mamesk 发表于 2014-09-23 12:51 回复此评论
    xml 怎么没有啊
  • 20楼:我勒个屮艸芔茻 发表于 2014-10-30 19:03 回复此评论
    楼主 你的录音不对呀 怎么是直接取文件浏览器  而不是调用录音机
开源从代码分享开始 分享代码
无鸯的其它代码 全部(68)...