`
zhouYunan2010
  • 浏览: 207668 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类

总结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音频剪辑裁剪自定义view

    总结起来,实现Android音频剪辑裁剪自定义View的关键在于理解音频处理、自定义视图绘制以及用户交互设计。通过结合Android系统提供的API和第三方库,我们可以创建一个功能完备且用户体验良好的音频剪辑工具。在实际...

    android 音频视频播放器

    总结,Android音频视频播放器的开发涉及到多媒体处理、生命周期管理、用户交互等多个方面。通过分析和实践提供的示例资源,你可以逐步提升在这一领域的专业技能,为用户提供更加丰富和流畅的多媒体体验。

    Android 音视频录制

    总结,Android音视频录制涉及MediaRecorder的使用、参数配置、录制流程控制,以及可能的LocalSocket流媒体录制。RecordDemo应该是一个实现这些功能的简单示例,对于理解Android音视频录制具有参考价值。对于...

    android 音视频采集

    总结起来,Android的MediaRecorder类为开发者提供了强大的音视频采集能力,但同时也需要开发者对音视频编码、流媒体处理有一定的理解。通过合理的配置和处理,我们可以创建出功能丰富的音视频录制应用。

    android在线播放音频视频

    总结起来,在Android平台上实现在线播放音频视频,开发者需要掌握网络请求技术、多媒体处理、播放器组件的使用,以及相关UI设计和异常处理。随着技术的不断发展,如HLS、DASH等流媒体协议的应用,开发者也需要不断...

    Android 音视频配音之音频提取、截断、混音、合并、合成(一)——从视频中提取音频文件

    在Android平台上进行音视频处理是一项复杂但至关重要的任务,尤其对于开发媒体应用的开发者来说。在本教程中,我们将深入探讨如何使用Android的MediaExtractor和MediaCodec API来实现音频的提取、截断、混音、合并和...

    Android音视频的编解码

    #### Android音频视频简介 **1.1 音频播放** Android提供了强大的音频播放功能,支持多种音频格式,并且可以通过不同的API进行播放。例如,可以使用`MediaPlayer`类来播放音频文件,它是一个高级别的API,简化了...

    Android音频视频硬编码和解码_MediaCodec

    总结,MediaCodec是Android平台处理音视频的核心组件,它提供了对硬件编码解码器的访问,使得开发者能够高效地处理多媒体数据。尽管使用过程中可能会遇到各种挑战,但通过深入了解其工作原理和应用技巧,我们可以...

    Android多媒体应用开发实战详解:图像、音频、视频、2D和3D

    总结,Android多媒体应用开发涉及到图像处理、音频和视频操作,以及2D和3D图形渲染等多个层面。开发者需要深入理解各个API的用法,结合实际场景灵活运用,才能打造出功能丰富、用户体验优秀的多媒体应用。通过不断的...

    android音视频开发从入门到精通——C基础 指针详情

    在音视频开发中,C语言因其执行效率高和硬件操作能力强,被广泛用于底层逻辑的实现,如音频解码器、视频编码器和处理库的开发。C语言中的指针概念对于音视频处理尤其重要,因为它涉及到数据存储和内存管理的高级操作...

    Android Studio视频播放器 源码.rar

    总结来说,"Android Studio视频播放器 源码"包含了许多关键知识点,如`MediaPlayer`或ExoPlayer的使用、SurfaceView和TextureView的视频渲染、网络请求、UI交互以及多媒体文件的兼容性处理。通过学习和分析这份源码...

    Android视频剪切拼接背景音乐字幕等功能的demo

    `MediaMuxer`用于将音视频流合并到一个文件中,`MediaExtractor`用于从多媒体文件中提取音视频流,`MediaCodec`则负责编码和解码工作,而`Surface`用于显示视频帧。 1. **视频剪切**: 在Android中,视频剪切涉及...

    【eoeAndroid特刊】第18期:Android音视频的编解码.zip

    Android的Media Framework提供了处理音视频数据的底层支持,包括AudioTrack和MediaPlayer用于音频播放,SurfaceView和TextureView用于视频渲染,以及MediaCodec进行编解码操作。MediaExtractor用于从媒体文件中提取...

    Android音频基础知识_V1.9.docx

    总结来说,Android音频基础知识涵盖了音频参数、数据流路径和同步机制等多个方面。在Qualcomm平台上,理解这些概念对于优化音频性能、实现低延迟和提高用户体验至关重要。开发者和工程师需要深入理解这些细节,才能...

    Android多媒体应用开发实战详解:图像、音频、视频、2D和3D 源代码.rar )

    总结起来,Android多媒体应用开发涵盖图像加载与处理、音频播放与录制、视频播放以及2D图形绘制等多个方面。开发者需要掌握Android提供的各种API,结合第三方库,灵活应对不同的应用场景。通过分析提供的源代码,...

    android 视频裁剪Demo

    总结来说,开发一个类似快手的Android视频裁剪Demo,需要掌握视频选择API、自定义View、图像处理、MediaCodec编码解码、MediaMuxer操作以及性能优化和用户体验设计等多个方面。这些技术点的深入理解和实践,将帮助...

    android 视频压缩

    MediaExtractor用于读取媒体文件的元数据和提取音视频流,MediaMuxer用于将编码后的音视频流合成为新的媒体文件。 3. **选择视频**: 使用Intent启动系统相册,用户可以选择一个视频文件。获取选中视频的URI后,...

    android小视频录制,可直接用于项目

    在Android平台上,开发一款能够录制小视频的应用是一项常见的任务,尤其对于那些希望为用户提供互动功能或者分享功能的APP来说。本资源"android小视频录制,可直接用于项目"提供了一个简单且稳定的解决方案,适用于...

Global site tag (gtag.js) - Google Analytics