Android拍照、录像、录音代码范例
来源:互联网 发布:osi网络层 编辑:程序博客网 时间:2024/05/21 10:32
Android拍照、录像、录音代码范例
无鸯 发布于 2011年09月06日 14时,11评/14257阅
<无详细内容>
标签: Android SDK 精华
代码片段(1)[全屏查看所有代码]
1. [文件] RecordActivity.java ~ 5KB 下载(1557)
001
package
com.cons.dcg.collect;
002
003
import
java.io.File;
004
import
java.text.SimpleDateFormat;
005
import
java.util.*;
006
import
android.app.*;
007
import
android.content.Intent;
008
import
android.database.Cursor;
009
import
android.net.Uri;
010
import
android.os.AsyncTask;
011
import
android.os.Bundle;
012
import
android.os.Environment;
013
import
android.provider.MediaStore;
014
import
android.view.*;
015
import
android.widget.*;
016
017
public
class
RecordActivity
extends
Activity
implements
OnClickListener {
018
019
private
static
final
int
RESULT_CAPTURE_IMAGE =
1
;
// 照相的requestCode
020
private
static
final
int
REQUEST_CODE_TAKE_VIDEO =
2
;
// 摄像的照相的requestCode
021
private
static
final
int
RESULT_CAPTURE_RECORDER_SOUND =
3
;
// 录音的requestCode
022
023
private
String strImgPath =
""
;
// 照片文件绝对路径
024
private
String strVideoPath =
""
;
// 视频文件的绝对路径
025
private
String strRecorderPath =
""
;
// 录音文件的绝对路径
026
027
@Override
028
protected
void
onCreate(Bundle savedInstanceState) {
029
super
.onCreate(savedInstanceState);
030
this
.setContentView(R.layout.problem_report);
031
}
032
033
@Override
034
protected
void
onActivityResult(
int
requestCode,
int
resultCode, Intent data) {
035
super
.onActivityResult(requestCode, resultCode, data);
036
switch
(requestCode) {
037
case
RESULT_CAPTURE_IMAGE:
//拍照
038
if
(resultCode == RESULT_OK) {
039
Toast.makeText(
this
, strImgPath, Toast.LENGTH_SHORT).show();
040
}
041
break
;
042
case
REQUEST_CODE_TAKE_VIDEO:
//拍摄视频
043
if
(resultCode == RESULT_OK) {
044
Uri uriVideo = data.getData();
045
Cursor cursor=
this
.getContentResolver().query(uriVideo,
null
,
null
,
null
,
null
);
046
if
(cursor.moveToNext()) {
047
/** _data:文件的绝对路径 ,_display_name:文件名 */
048
strVideoPath = cursor.getString(cursor.getColumnIndex(
"_data"
));
049
Toast.makeText(
this
, strVideoPath, Toast.LENGTH_SHORT).show();
050
}
051
}
052
break
;
053
case
RESULT_CAPTURE_RECORDER_SOUND:
//录音
054
if
(resultCode == RESULT_OK) {
055
Uri uriRecorder = data.getData();
056
Cursor cursor=
this
.getContentResolver().query(uriRecorder,
null
,
null
,
null
,
null
);
057
if
(cursor.moveToNext()) {
058
/** _data:文件的绝对路径 ,_display_name:文件名 */
059
strRecorderPath = cursor.getString(cursor.getColumnIndex(
"_data"
));
060
Toast.makeText(
this
, strRecorderPath, Toast.LENGTH_SHORT).show();
061
}
062
}
063
break
;
064
}
065
}
066
067
068
069
/**
070
* 照相功能
071
*/
072
private
void
cameraMethod() {
073
Intent imageCaptureIntent =
new
Intent(MediaStore.ACTION_IMAGE_CAPTURE);
074
strImgPath = Environment.getExternalStorageDirectory().toString() +
"/CONSDCGMPIC/"
;
//存放照片的文件夹
075
String fileName =
new
SimpleDateFormat(
"yyyyMMddHHmmss"
).format(
new
Date()) +
".jpg"
;
//照片命名
076
File out =
new
File(strImgPath);
077
if
(!out.exists()) {
078
out.mkdirs();
079
}
080
out =
new
File(strImgPath, fileName);
081
strImgPath = strImgPath + fileName;
//该照片的绝对路径
082
Uri uri = Uri.fromFile(out);
083
imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
084
imageCaptureIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY,
1
);
085
startActivityForResult(imageCaptureIntent, RESULT_CAPTURE_IMAGE);
086
087
}
088
089
/**
090
* 拍摄视频
091
*/
092
private
void
videoMethod() {
093
Intent intent =
new
Intent(MediaStore.ACTION_VIDEO_CAPTURE);
094
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY,
0
);
095
startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO);
096
}
097
098
/**
099
* 录音功能
100
*/
101
private
void
soundRecorderMethod() {
102
Intent intent =
new
Intent(Intent.ACTION_GET_CONTENT);
103
intent.setType(
"audio/amr"
);
104
startActivityForResult(intent, RESULT_CAPTURE_RECORDER_SOUND);
105
}
106
107
/**
108
* 提示信息
109
* @param text
110
* @param duration
111
*/
112
private
void
showToast(String text,
int
duration) {
113
Toast.makeText(ProblemReport.
this
, text, duration).show();
114
}
115
}
- Android拍照、录像、录音代码范例
- Android拍照、录像、录音代码范例
- Android拍照、录像、录音代码范例
- Android拍照、录像、录音代码范例
- Android拍照、录像、录音代码范例
- Android拍照、录像、录音代码范例
- Android拍照、录像、录音代码范例
- Android拍照、录像、录音代码范例
- Android 随手记---拍照、录像、录音代码范例
- 无鸯 Android拍照、录像、录音代码范例 http://www.oschina.net/code/snippet_163910_6069
- 录像、录音和拍照
- Android--MediaRecorder录音录像
- android--拍照,录像
- Android-SurfaceView拍照录像
- Android 拍照/录像
- Android 实现拍照、录像
- Android 多媒体(拍照-录像)
- android 自定义拍照录像
- Adapter中getView的理解!
- shell 引号处理
- 打开和保存CFileDialog
- duilib的一些bug
- Google Tag Manager 入门指南
- Android拍照、录像、录音代码范例
- VS2010 如何缩减编译文件大小(statically linked MFC)
- 五大常用算法(二)动态规划
- IOS开发(51)之UITableView建立索引搜索
- 未来的竞争已不在行业中, 而是在行业外!!
- YUV420-RGB 以点的方式进行转换 原创by: GanYJ
- 内存映射修改大文件
- Color depth (from Wiki)
- php 下的测试工具Xdebug的安装及使用