播放音乐和视频用的是类:MediaPlayer
刻录声音和视频用的是类:MediaRecorder

拍照:Camera

没什么难度,都是调用android的API

1.刻录视频,关键代码如下:

Java代码
  1. MediaRecordermediaRecorder=newMediaRecorder();
  2. mediaRecorder.reset();//首先重置一下
  3. mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);//从照相机种采集视频
  4. mediaRecorder.setVideoSource(MediaRecorder.AudioSource.MIC);//从麦克风中采集声音
  5. mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);//输出格式3GP
  6. mediaRecorder.setVideoSize(350,240);//视频文件大小
  7. mediaRecorder.setVideoFrameRate(3);//录制帧数,每秒3帧
  8. mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);//设置视频编码方式
  9. mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);//设置声音编码方式
  10. /*设置保存路径为sd卡根目录*/
  11. FilevideoFile=newFile(Environment.getExternalStorageDirectory(),System.currentTimeMillis()+".3gp");
  12. mediaRecorder.setOutputFile(videoFile.getAbsolutePath());
  13. mediaRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface());//定义一个SurfaceView来显示画面
  14. mediaRecorder.prepare();//此处要捕捉异常,底层调用硬件实现准备工作
  15. mediaRecorder.start();
  16. //停止
  17. mediaRecorder.stop();
  18. mediaRecorder.release();
  19. mediaRecorder=null;

2.刻录声音,关键代码如下:

Java代码
  1. //与录制视频很相似
  2. mRecorder=newMediaRecorder();
  3. mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);//声音来源麦克风
  4. mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);//输出格式
  5. mRecorder.setOutputFile(mFileName);//可以自己给定保存文件
  6. mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);//编码方式
  7. mRecorder.prepare();
  8. mRecorder.start();

3.播放声音,关键代码如下:

Java代码
  1. MediaPlayermPlayer=newMediaPlayer();
  2. mPlayer.reset
  3. mPlayer.setDataSource(mFileName);//设置播放的声音文件
  4. mPlayer.prepare();
  5. mPlayer.start();
  6. //............
  7. //基本方法
  8. mPlayer.pause()//暂停播放
  9. mPlayer.stop()//停止播放
  10. mPlayer.seekTo(int)//直接跳到某点进行播放

4.播放视频,关键代码如下:

Java代码
  1. MeidaPlayermedia=newMeidaPlayer();
  2. media.setAudioStreamType(AudioManager.STREAM_MUSIC);
  3. media.setDisplay(sh);//定义一个SurfaceView播放它
  4. media.setDataSource(file.getAbsolutePath());
  5. media.prepare();
  6. media.start();

5.拍照,关键代码如下

Java代码
  1. Cameracamera=Camera.open();
  2. Parametersparameters=camera.getParameters();
  3. parameters.setPreviewSize(420,300);//设置预览照片的大小
  4. parameters.setPreviewFrameRate(3);//每秒3帧
  5. parameters.setPictureFormat(PixelFormat.JPEG);//设置照片输出格式
  6. parameters.set("jpeg-quaility",85);//设置照片质量
  7. parameters.setPictureSize(420,300);//设置照片大小
  8. camera.setParameters(parameters);
  9. camera.setPreviewDisplay(SurfaceView)//定义一个SurfaceView用于显示预览
  10. camera.startPreview();
  11. //..........
  12. //按下拍照键后
  13. //camera.autoFocus(null);自动对焦
  14. camera.takePicture(null,null,newPictureClassback());//拍照
  15. //..............
  16. //需要实现PictureCallback接口
  17. privateclassPictureClassbackimplementsPictureCallback{
  18. publicvoidonPictureTaken(byte[]abyte0,Cameracamera){
  19. Bitmapbitmap=BitmapFactory.decodeByteArray(abyte0,0,abyte0.length);//根据照片2进制流生成位图
  20. Filefile=newFile(Environment.getExternalStorageDirectory(),System.currentTimeMillis()+".jpg");
  21. FileOutputStreamstream=newFileOutputStream(file);
  22. bitmap.compress(CompressFormat.JPEG,100,stream);//此方法设置照片质量和输出格式,并且保存图片
  23. stream.close();
  24. }
  25. }

更多相关文章

  1. android EditText设置不可写
  2. android 使用html5作布局文件: webview跟javascript交互
  3. android studio调试c/c++代码
  4. android“设置”里的版本号
  5. IM-A820L限制GSM,WCDMA上网的原理(其他泛泰机型可参考)7.13
  6. 锁屏界面
  7. android(NDK+JNI)---Eclipse+CDT+gdb调试android ndk程序
  8. 在Fragment中设置控件点击方法,执行失败。
  9. Android(安卓)version and Linux Kernel version

随机推荐

  1. Android(安卓)Studio修改包名实战
  2. 几个开源XMPP Android客户端简单比较
  3. phonegap源码分析(一)------ android
  4. 【转】Android(安卓)调试桥(adb),很方便很
  5. Android(安卓)为不同的语言和硬件创建资
  6. Android之微信第三方登录
  7. Android(安卓)依赖中的jar 包获取方式
  8. Android(安卓)面部识别之一(SDK自带检测检
  9. Android碎片机制
  10. Android(安卓)任务、进程和线程