播放音乐和视频用的是类:MediaPlayer
刻录声音和视频用的是类:MediaRecorder
拍照:Camera
没什么难度,都是调用android的API
1.刻录视频,关键代码如下:
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.刻录声音,关键代码如下:
//与录制视频很相似
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.播放声音,关键代码如下:
MediaPlayer mPlayer = new MediaPlayer();
mPlayer.reset
mPlayer.setDataSource(mFileName); //设置播放的声音文件
mPlayer.prepare();
mPlayer.start();
//............
//基本方法
mPlayer.pause() //暂停播放
mPlayer.stop() //停止播放
mPlayer.seekTo(int) //直接跳到某点进行播放
4.播放视频,关键代码如下:
MeidaPlayer media = new MeidaPlayer();
media.setAudioStreamType(AudioManager.STREAM_MUSIC);
media.setDisplay(sh); //定义一个SurfaceView播放它
media.setDataSource(file.getAbsolutePath());
media.prepare();
media.start();
5.拍照,关键代码如下
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();
}
}
.............
分享到:
相关推荐
53、总结android音频视频操作 110 54、android 调用系统相机 112 55、android 47个常用代码片段 112 56、Android之SurfaceView详解 127 57、Toast的标准格式 141 58、判断当前网络连接是否正常 141 59、MD5加密 142 ...
12.3.1 Android音频/视频录制状态 303 12.3.2 音频录制案例介绍 303 12.3.3 音频录制案例实现 305 12.4 Android视频播放 309 12.4.1 视频播放案例 309 12.4.2 采用MediaPlayer类播放视频 310 12.4.3 使用...
1.适用场景1) ContentProvider为存储和读取数据提供了统一的接口2) 使用ContentProvider,应用程序可以实现数据共享3) android内置的许多数据都是使用ContentProvider形式,供开发者调用的(如视频,音频,图片,...
包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...
【eoeAndroid特刊】第18期:Android音视频的编解码,zip ActivityGroup + GridView + ViewFlipper 实现选项卡,zip Adroid Ul 界面绘制原理分析.rar AnderWeb-android packages apps Launcher-4458ee4.zip andorid 源码...
3.3.2 为Android构建 Linux的操作系统 63 3.4 内核空间和用户空间接口是一个媒介 64 3.4.1 内核空间和用户空间的相互作用 64 3.4.2 系统和硬件之间的交互 64 3.4.3 使用relay实现内核到用户空间的...
采用先进的ARM Cortex A9处理器Hi3716H支持各种格式的高清晰度视频解码,提供音频/视频输入接口,3D加速引擎和标准的OpenGL ES 接口,Android2.0以上版本都是支持多点触摸的。因此本文提出了基于Android平台的多点...
3.3.2 为Android构建 Linux的操作系统 63 3.4 内核空间和用户空间接口是一个媒介 64 3.4.1 内核空间和用户空间的相互作用 64 3.4.2 系统和硬件之间的交互 64 3.4.3 使用relay实现内核到用户空间的...
包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...
用户可以使用键盘输入,单击模拟器按键输入,甚至还可以使用鼠标单击、拖动屏幕进行操作。 1.模拟器和真机的不同之处 * 不支持呼叫和接听实际来电,但可以通过控制台模拟电话呼叫(呼入和呼出)。 * 不支持USB连接...
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、...
包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、...
【注:学习Android做的笔记(总结),大神勿喷。有不足之处还望不吝赐教。】 Android 操作权限大全,已大部分归纳分类(还未完全),有错误的,漏掉的,还望指出,谢谢。 (想有查阅不便的,上传有文档...17.音频&视频
Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导开发 IOS 由苹果公司开发的移动操作系统 Webkit 一个开源的浏览器引擎,在手机上的...
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、...