播放音乐和视频用的是类: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系统提供的API和第三方库,我们可以创建一个功能完备且用户体验良好的音频剪辑工具。在实际...
总结,Android音频视频播放器的开发涉及到多媒体处理、生命周期管理、用户交互等多个方面。通过分析和实践提供的示例资源,你可以逐步提升在这一领域的专业技能,为用户提供更加丰富和流畅的多媒体体验。
总结,Android音视频录制涉及MediaRecorder的使用、参数配置、录制流程控制,以及可能的LocalSocket流媒体录制。RecordDemo应该是一个实现这些功能的简单示例,对于理解Android音视频录制具有参考价值。对于...
总结起来,Android的MediaRecorder类为开发者提供了强大的音视频采集能力,但同时也需要开发者对音视频编码、流媒体处理有一定的理解。通过合理的配置和处理,我们可以创建出功能丰富的音视频录制应用。
总结起来,在Android平台上实现在线播放音频视频,开发者需要掌握网络请求技术、多媒体处理、播放器组件的使用,以及相关UI设计和异常处理。随着技术的不断发展,如HLS、DASH等流媒体协议的应用,开发者也需要不断...
在Android平台上进行音视频处理是一项复杂但至关重要的任务,尤其对于开发媒体应用的开发者来说。在本教程中,我们将深入探讨如何使用Android的MediaExtractor和MediaCodec API来实现音频的提取、截断、混音、合并和...
#### Android音频视频简介 **1.1 音频播放** Android提供了强大的音频播放功能,支持多种音频格式,并且可以通过不同的API进行播放。例如,可以使用`MediaPlayer`类来播放音频文件,它是一个高级别的API,简化了...
总结,MediaCodec是Android平台处理音视频的核心组件,它提供了对硬件编码解码器的访问,使得开发者能够高效地处理多媒体数据。尽管使用过程中可能会遇到各种挑战,但通过深入了解其工作原理和应用技巧,我们可以...
总结,Android多媒体应用开发涉及到图像处理、音频和视频操作,以及2D和3D图形渲染等多个层面。开发者需要深入理解各个API的用法,结合实际场景灵活运用,才能打造出功能丰富、用户体验优秀的多媒体应用。通过不断的...
在音视频开发中,C语言因其执行效率高和硬件操作能力强,被广泛用于底层逻辑的实现,如音频解码器、视频编码器和处理库的开发。C语言中的指针概念对于音视频处理尤其重要,因为它涉及到数据存储和内存管理的高级操作...
总结来说,"Android Studio视频播放器 源码"包含了许多关键知识点,如`MediaPlayer`或ExoPlayer的使用、SurfaceView和TextureView的视频渲染、网络请求、UI交互以及多媒体文件的兼容性处理。通过学习和分析这份源码...
`MediaMuxer`用于将音视频流合并到一个文件中,`MediaExtractor`用于从多媒体文件中提取音视频流,`MediaCodec`则负责编码和解码工作,而`Surface`用于显示视频帧。 1. **视频剪切**: 在Android中,视频剪切涉及...
Android的Media Framework提供了处理音视频数据的底层支持,包括AudioTrack和MediaPlayer用于音频播放,SurfaceView和TextureView用于视频渲染,以及MediaCodec进行编解码操作。MediaExtractor用于从媒体文件中提取...
总结来说,Android音频基础知识涵盖了音频参数、数据流路径和同步机制等多个方面。在Qualcomm平台上,理解这些概念对于优化音频性能、实现低延迟和提高用户体验至关重要。开发者和工程师需要深入理解这些细节,才能...
总结起来,Android多媒体应用开发涵盖图像加载与处理、音频播放与录制、视频播放以及2D图形绘制等多个方面。开发者需要掌握Android提供的各种API,结合第三方库,灵活应对不同的应用场景。通过分析提供的源代码,...
总结来说,开发一个类似快手的Android视频裁剪Demo,需要掌握视频选择API、自定义View、图像处理、MediaCodec编码解码、MediaMuxer操作以及性能优化和用户体验设计等多个方面。这些技术点的深入理解和实践,将帮助...
MediaExtractor用于读取媒体文件的元数据和提取音视频流,MediaMuxer用于将编码后的音视频流合成为新的媒体文件。 3. **选择视频**: 使用Intent启动系统相册,用户可以选择一个视频文件。获取选中视频的URI后,...
在Android平台上,开发一款能够录制小视频的应用是一项常见的任务,尤其对于那些希望为用户提供互动功能或者分享功能的APP来说。本资源"android小视频录制,可直接用于项目"提供了一个简单且稳定的解决方案,适用于...