android 视频音频 照相的基本操作
2013-08-22 21:35
267 查看
播放音乐和视频用的是类:MediaPlayer
刻录声音和视频用的是类:MediaRecorder
拍照:Camera
没什么难度,都是调用android的API
1.刻录视频,关键代码如下:
Java代码
MediaRecorder mediaRecorder = new MediaRecorder();
mediaRecorder.reset(); //首先重置一下
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //从照相机种采集视频
mediaRecorder.setVideoSource(MediaRecorder.AudioSource.MIC); //从麦克风中采集声音
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); //输出格式3GP
mediaRecorder.setVideoSize(350, 240); //视频文件大小
mediaRecorder.setVideoFrameRate(3); //录制帧数,每秒3帧
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);//设置视频编码方式
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); //设置声音编码方式
/*设置保存路径为sd卡根目录*/
File videoFile = new File(Environment.getExternalStorageDirectory(),System.currentTimeMillis()+".3gp");
mediaRecorder.setOutputFile(videoFile.getAbsolutePath());
mediaRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface()); //定义一个SurfaceView来显示画面
mediaRecorder.prepare(); //此处要捕捉异常,底层调用硬件实现准备工作
mediaRecorder.start();
//停止
mediaRecorder.stop();
mediaRecorder.release();
mediaRecorder=null;
2.刻录声音,关键代码如下:
Java代码
//与录制视频很相似
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); //声音来源麦克风
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); //输出格式
mRecorder.setOutputFile(mFileName); //可以自己给定保存文件
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); //编码方式
mRecorder.prepare();
mRecorder.start();
3.播放声音,关键代码如下:
Java代码
MediaPlayer mPlayer = new MediaPlayer();
mPlayer.reset
mPlayer.setDataSource(mFileName); //设置播放的声音文件
mPlayer.prepare();
mPlayer.start();
//............
//基本方法
mPlayer.pause() //暂停播放
mPlayer.stop() //停止播放
mPlayer.seekTo(int) //直接跳到某点进行播放
4.播放视频,关键代码如下:
Java代码
MeidaPlayer media = new MeidaPlayer();
media.setAudioStreamType(AudioManager.STREAM_MUSIC);
media.setDisplay(sh); //定义一个SurfaceView播放它
media.setDataSource(file.getAbsolutePath());
media.prepare();
media.start();
5.拍照,关键代码如下
Java代码
Camera camera = Camera.open();
Parameters parameters = camera.getParameters();
parameters.setPreviewSize(420, 300); //设置预览照片的大小
parameters.setPreviewFrameRate(3); //每秒3帧
parameters.setPictureFormat(PixelFormat.JPEG); //设置照片输出格式
parameters.set("jpeg-quaility", 85); //设置照片质量
parameters.setPictureSize(420, 300); //设置照片大小
camera.setParameters(parameters);
camera.setPreviewDisplay(SurfaceView) //定义一个 SurfaceView用于显示预览
camera.startPreview();
//..........
//按下拍照键后
//camera.autoFocus(null); 自动对焦
camera.takePicture(null, null, new PictureClassback()); //拍照
//..............
//需要实现PictureCallback接口
private class PictureClassback implements PictureCallback{
public void onPictureTaken(byte[] abyte0, Camera camera) {
Bitmap bitmap = BitmapFactory.decodeByteArray(abyte0, 0, abyte0.length); //根据照片2进制流生成位图
File file = new File(Environment.getExternalStorageDirectory(),System.currentTimeMillis()+".jpg");
FileOutputStream stream = new FileOutputStream(file);
bitmap.compress(CompressFormat.JPEG, 100, stream); //此方法设置照片质量和输出格式,并且保存图片
stream.close();
}
}
刻录声音和视频用的是类:MediaRecorder
拍照:Camera
没什么难度,都是调用android的API
1.刻录视频,关键代码如下:
Java代码
MediaRecorder mediaRecorder = new MediaRecorder();
mediaRecorder.reset(); //首先重置一下
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //从照相机种采集视频
mediaRecorder.setVideoSource(MediaRecorder.AudioSource.MIC); //从麦克风中采集声音
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); //输出格式3GP
mediaRecorder.setVideoSize(350, 240); //视频文件大小
mediaRecorder.setVideoFrameRate(3); //录制帧数,每秒3帧
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);//设置视频编码方式
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); //设置声音编码方式
/*设置保存路径为sd卡根目录*/
File videoFile = new File(Environment.getExternalStorageDirectory(),System.currentTimeMillis()+".3gp");
mediaRecorder.setOutputFile(videoFile.getAbsolutePath());
mediaRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface()); //定义一个SurfaceView来显示画面
mediaRecorder.prepare(); //此处要捕捉异常,底层调用硬件实现准备工作
mediaRecorder.start();
//停止
mediaRecorder.stop();
mediaRecorder.release();
mediaRecorder=null;
2.刻录声音,关键代码如下:
Java代码
//与录制视频很相似
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); //声音来源麦克风
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); //输出格式
mRecorder.setOutputFile(mFileName); //可以自己给定保存文件
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); //编码方式
mRecorder.prepare();
mRecorder.start();
3.播放声音,关键代码如下:
Java代码
MediaPlayer mPlayer = new MediaPlayer();
mPlayer.reset
mPlayer.setDataSource(mFileName); //设置播放的声音文件
mPlayer.prepare();
mPlayer.start();
//............
//基本方法
mPlayer.pause() //暂停播放
mPlayer.stop() //停止播放
mPlayer.seekTo(int) //直接跳到某点进行播放
4.播放视频,关键代码如下:
Java代码
MeidaPlayer media = new MeidaPlayer();
media.setAudioStreamType(AudioManager.STREAM_MUSIC);
media.setDisplay(sh); //定义一个SurfaceView播放它
media.setDataSource(file.getAbsolutePath());
media.prepare();
media.start();
5.拍照,关键代码如下
Java代码
Camera camera = Camera.open();
Parameters parameters = camera.getParameters();
parameters.setPreviewSize(420, 300); //设置预览照片的大小
parameters.setPreviewFrameRate(3); //每秒3帧
parameters.setPictureFormat(PixelFormat.JPEG); //设置照片输出格式
parameters.set("jpeg-quaility", 85); //设置照片质量
parameters.setPictureSize(420, 300); //设置照片大小
camera.setParameters(parameters);
camera.setPreviewDisplay(SurfaceView) //定义一个 SurfaceView用于显示预览
camera.startPreview();
//..........
//按下拍照键后
//camera.autoFocus(null); 自动对焦
camera.takePicture(null, null, new PictureClassback()); //拍照
//..............
//需要实现PictureCallback接口
private class PictureClassback implements PictureCallback{
public void onPictureTaken(byte[] abyte0, Camera camera) {
Bitmap bitmap = BitmapFactory.decodeByteArray(abyte0, 0, abyte0.length); //根据照片2进制流生成位图
File file = new File(Environment.getExternalStorageDirectory(),System.currentTimeMillis()+".jpg");
FileOutputStream stream = new FileOutputStream(file);
bitmap.compress(CompressFormat.JPEG, 100, stream); //此方法设置照片质量和输出格式,并且保存图片
stream.close();
}
}
相关文章推荐
- android音频、视频、拍照基础操作
- Android开发实现的IntentUtil跳转多功能工具类【包含视频、音频、图片、摄像头等操作功能】
- android播放音频,视频的操作及注意事项
- android-MediaPlayer的基本使用-播放音频视频
- Android IOS WebRTC 音视频开发总结(十六)-- 音频设备操作之opensl与jni
- 总结android音频视频操作 (java层代码)
- Android中从视频中提取音频
- 学习笔记:Android SQLite,并实现SQLite基本CRUD操作的Demo
- ArcGIS for Android Runtime100 基本操作(七)——三维地图初步使用
- Android学习笔记十:android SQLite数据库基本操作增、删、改、查速成
- Android 本地视频播放器开发 —— ffmpeg解码视频文件中的音频
- Android 音视频开发(二):使用 AudioRecord 采集音频PCM并保存到文件
- Android jni 编程1(对基本类型字符串的操作)
- 在Android 中调用选择图片、视频、添加音频、录音、拍摄视频、拍照等其他的功能
- Android 图片视频音频数据库模式
- Android 操作SQLite基本用法
- Android基础入门教程——9.2 MediaPlayer播放音频与视频
- Android中通过Intent 调用系统的图片、视频、音频、录音、拍照
- emacs 10分钟的基本快捷键操作效果视频
- ocs部署实验系列之二——配置音频/视频会议和web会议及客户端基本功能测试