Android应用开发揭秘(笔记) 第七章 多媒体开发

☆ Open Core:
Open Core是Android多媒体框架的核心,所有Android平台的音频、视频的采集以及播放等操作都是通过它来实现的。被称为PV(Packet Video)。
Open Core 支持 MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF等。
具体功能如下:
多媒体文件的播放、下载,包括:3GPP,MPEG-4,AAC和MP3 containers。
流媒体文件的下载、实时播放,包括:3GPP,HTTP和RISP/RTP。
动态视频和静态图像的编码、解码,例如:MPEG-4,H.263和AVC(H.264),JPEG。
语言编码格式:AMR-NB和AMR-WB。
音乐编码格式:MP3,AAC,AAC+。
视频和图像格式:3GPP,MPEG-4和JPEG。
视频会议:基于H324-M标准。
Open Core是一个多媒体的框架,从宏观上看,它主要包含了两大方面内容:
1.PVPlayer:提供媒体播放的功能,完成各种音频,视频流的回放功能。
2.PVAuthor:提供流媒体记录的功能,完成各种音频,视频流及静态图像的捕获功能。

☆ MediaPlayer:
1.MediaPlayer类可以播放音频、视频和流媒体,MediaPlayer包含了Audio和Video的播放功能。
2.在Android界面上,Music和Video两个应用程序都是调用MediaPlayer实现的。
MediaPlayer生命周期:
1.当一个MediaPlayer对象被新建或者调用reset()方法之后,它处于空闲状态,在调用release()方法之后,才会处于结束状态。当MediaPlayer不再被使用时,最后通release()释放。
当MediaPlayer呗新建时处于空闲状态,如果通过create()方法创建之后便处于准备状态。
2.可用通过注册setOnErrorListener(android.media.MediaPlayer.OnErrorListener)方法来实现OnErrorListener.OnError()方法来监控错误。
3.任何MediaPlayer对象都必须先处于准备状态,然后才开始播放。
4.要开始播放MediaPlayer对象必须成功调用start()方法。可以通过isPlaying()方法来检测当前是否正在播放。
5.当MediaPlayer对象在播发时,可以进行暂停和停止等操作,pause()方法暂停播发,stop()方法停止播放。处于暂停状态时可以通过调用start()方法来恢复播放,但是处于停止状态时
必须先调用pause()方法处于准备状态,然后再通过start()方法来开始播放。
6.可以通过setLooping(boolean)方法来设置是否循环播放。
Android通过MediaPlayer来播放音乐的步骤如下:
MediaPlayer mp = new MediaPlayer();//构造MediaPlayer对象
mp.setDataSource("/sdcard/test.mp3");//设置文件路径
mp.prepare();//准备
mp.start();//播放

☆ MediaRecorder
MediaRecorder类用来进行媒体采样,包括音频和视频。
MediaRecorder类方法介绍:
参照 MediaRecorder API
eg:一段简单的录音代码:
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource( MediaRecorder.AudioSource.MIC );
recorder.setOutpuFormat( MediaRecorder.OutputFormat.THREE_GPP );
recorder.setAudioEncoder( MediaRecorder.AudioEncoder.AMR_NB );
recorder.setOutpuFile( PAHT_NAME );
recorder.prepare();
recorder.start();
//录音中。。。
recorder.stop();
recorder.reset();
recorder.release();

☆ 播放音乐
...
☆ 播放视频
本节介绍在Android中实现一个MP4视频文件的播放。
Android内置的Video View类可以快速制作一个系统播放器,VideoView主要用来显示一个视频文件。
VideoView 基本方法参照API
☆ 录制歌曲
实现录音的一般步骤:
MediaRecorder mr = new MediaRecorder();
mr.setAudioSource(MIC)/setVideoSource(CAMEGA);//必须在配置DataSource之前调用;
配置DataSource:设置输出文件/格式,编码器等。
准备录制:mr.prepare();
开始录制: mr.start();
停止录制:mr.stop();
释放资源:mr.release();

☆ 相机设置
相机主要包括以下事件:
Camera.AutoFocusCallback:自动调焦功能。
Camera.ErrorCallback:错误信息捕捉。
Camera.Parameters:相机属性参数。
Camera.PictureCallback:拍照、产生图片时触发。
Camera.PreviewCallback:相机预览设置。
Camera.ShutterCallback:快么设置。
Camera.Size:图片的尺寸。

☆ 闹钟设置
在Android中可以通过AlarmManager来实现闹钟,AlarmManager类是专门用来设定在某个指定时间去完成指定的事件。
AlarmManager通过onReceive()方法执行事件。
AlarmManager方法介绍:
cancel 取消AlarmManager服务
set    设置AlarmManager服务
setIndexactReqeating 设置不精确周期
setRepeating    设置精确周期
setTimeZone     设置时区
要实现闹钟需要创建一个继承自BrodcastReceiver的类,实现onReceive方法来接收这个Alarm服务。然后通过建立Intent和PendingIntent连接来调用Alarm组件。
由于使用了BrodcastReceiver服务,因此需要在AndroidManifest.xml中添加
<receiver android:name=".AlarmReceiver" android:process=":remote" />

☆ 铃声设置
Android提供了RingtoneManager类专门来操作各种铃声,比如常见的来电铃声、闹钟铃声等。
Android自带的系统铃声都放置在"system/medio/audio"文件中,而自己下载的铃声一般都放置在SD卡中,那么就需要在SD卡下面建立如下文件目录。
/sdcard/music/ringtones
/sdcard/music/alarms:闹铃铃声
/sdcard/music/notifications:警告或通知铃声

小结:
1.对Open Core介绍
2.MediaPlayer生命周期的详解
3.MediaRecorder介绍
4.介绍音乐播放器、视频播放器的制作流程及方法。
5.录音介绍介绍
6.相机设置介绍
7.闹钟设置介绍
8.铃声设置介绍

你可能感兴趣的:(Android应用开发揭秘(笔记) 第七章 多媒体开发)