`

android音频、视频、拍照基础操作

阅读更多
播放音乐和视频用的是类: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();
		}
    	
    }

分享到:
评论

相关推荐

    android打码音频照相功能

    一款不错的测试照相扫码的代码,框架可以用,主要用于测试,这个项目主要用android开发,里面还有测试线程管理web端的写法,很不错的代码。

    视频,音频,拍照

    源代码的说明:Android视频,音频,拍照

    android音频录制

    而Android系统的多媒体框架也为开发者提供了MediaRecorder类来实现视频录制功能。在使用MediaRecorder时我们要注意以下几点: 第一:无法使用模拟器进行测试,在使用MediaRecorder进行音视频录制时,需要用真机进行...

    Android中简单调用图片、视频、音频、录音和拍照的方法

    主要介绍了Android中简单调用图片、视频、音频、录音和拍照的方法,涉及Android多媒体操作的常用技巧,需要的朋友可以参考下

    Android应用开发详解

    Android中的多媒体应用,讲述了Android的图片应用、音频及视频播放、音频及视频录制和照相机的使用 第12章 Android中的图形图像 Android中的图形图像,讲述了Android中的图片、动画、图形绘制和图形特效 第13章 ...

    Android-仿微博微信朋友圈发送图片发视频动态

    一款针对android平台下的图片选择器,支持从相册或拍照选择图片或视频、音频,支持动态权限获取、裁剪(单图or多图裁剪)、压缩、主题自定义配置等功能、适配android 6.0 系统的开源图片选择框架。

    安卓拍照上传录像监控录屏相关-android实现图片音频视频展示拍摄预览。存储等功能代码是项目中扣出来的.rar

    android 实现图片,音频,视频,展示,拍摄,预览。存储等功能 代码是项目中扣出来的.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    Android音视频之视频采集(系统API预览)

    我们了解了视频相关的基础知识,后面的文章我们要能够和音频一样可以采集我们的视频,视频是一帧一帧的图片来的,我们首先要学习预览视频,然后采集一帧图片,采集视频从简到难的来了解这个问题。首先第一个反应打开...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    Android高薪之路:Android程序员面试宝典 李宁

    10 1 音频 10 2 视频 10 3 摄像头 10 4 铃声 第11章 2D绘图与动画技术 11 1 绘制基本图形 11 2 图像特效 11 3 路径 11 4 帧 Frame 动画 11 5 补间 Tween 动画 第12章 OpenGL ES 12 1 OpenGL ES简介 12 2 理解3D坐标...

    多媒体应用开发实战详解 (带目录)

    全书分为17章,分别详细讲解了Android系统基础,深入底层基础,多媒体框架,音频系统框架,视频系统框架,Camera照相机系统,振动器系统和警报系统,2D应用开发,渲染二维图像,OpenGL ES基础,OpenGL ES实战技术,...

    Android2.3应用开发实战

    googlemaps、音频和视频、2d绘图和 3dopengl绘图、surfaceview、动态壁纸、蓝牙通信、触控、感应检测、android2.3特性、照相机、voip等内容。  《android 2.3应用开发实战》面向 android初学者、想系统掌握 android...

    Android开发基础知识总结

    主要包含Android的UI组件、初高级资源、网络编程及Internet应用、多线程以及Service等后台操作、Handler消息处理机制、Handler和looper的关系、Android的数据存储、调用手机摄像头拍照、录像、播放音频、发送广播...

    android开发资料大全

    Android 添加音频 在Android中实现多线程断点下载 Android提高篇内容整理 android移动开发案例精选 Android通过画线实现button效果 Android如何防止apk程序被反编译 Android 之 AIDL 和远程 Service 调用 Android ...

    Android入门中文教程

    多媒体支持 包括常见的音频、视频和静态图像格式 (如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM 电话技术 (依赖于硬件) 蓝牙Bluetooth, EDGE, 3G, 和 WiFi (依赖于硬件) 照相机,GPS,指南针,和加...

    Android 底层接口与驱动开发技术详解

    第10~21章是核心技术与应用篇,详细讲解了Android系统中常用驱动的移植知识,分别讲解了显示系统、输入系统、振动器系统、音频系统、视频输出系统、OpenMax多媒体框架、多媒体插件框架、传感器系统、照相机系统、Wi...

    Android 图片选择、系统拍照、系统裁剪、九宫格图片控件.zip

    5. 多媒体支持:Android 支持常见的音频、视频、图像等多媒体格式,可以实现各种多媒体应用。 6. 数据存储:Android 提供了多种数据存储方式,包括 SQLite 数据库、文件存储、SharedPreferences 等。 7. 网络通信:...

Global site tag (gtag.js) - Google Analytics