欢迎来到天天文库
浏览记录
ID:14004930
大小:1.40 MB
页数:26页
时间:2018-07-25
《android多媒体架构介绍》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Android多媒体框架分析------音视频播放与录制MediaFramework:Android系统提供的支持音频视频的播放和录制的接口(图1)Android框架图图中用黄线圈出的是MediaFramework从框架图可以看出MediaFramework处于Libraries这一层,这层的Library不是用Java实现,一般是C/C++实现,它们通过Java的JNI方式调用。MediaFramework支持所有通用的音频,视频,静态图像格式支持的格式包括:MPEG4、H.264、MP3、AAC、AMR、JPG、PNG等。l 多媒体文件的
2、播放,下载,包括3GPP,MPEG-4,AACandMP3containersl 流媒体文件的下载,实时播放,包括:3GPP,HTTPandRTSP/RTPl 动态视频和静态图像的编码,解码,例如:MPEG-4,H.263andAVC(H.264),JPEGl 语音编码格式: AMR-NBandAMR-WBl 音乐编码格式: MP3,AAC,AAC+l 视频和图像格式: 3GPP,MPEG-4andJPEGl 视频会议:基于H324-Mstandard在实际的应用开发中我们并不会过多的研究Me
3、diaFramework的实现,Android提供了上层的MediaAPI给开发人员使用,MediaPlayer和MediaRecorder这两个类主要实现音频和视频的播放和录制。MediaPlayer:提供的基本接口如下:PublicMethodsstatic MediaPlayer create(Context context, Uri uri)ConveniencemethodtocreateaMediaPlayerforagivenUri.int getCurrentPosition()Getsthecurrentplaybackpositi
4、on.int getDuration()Getsthedurationofthefile.int getVideoHeight()Returnstheheightofthevideo.int getVideoWidth()Returnsthewidthofthevideo.boolean isPlaying()CheckswhethertheMediaPlayerisplaying.void pause()Pausesplayback.void prepare()Preparestheplayerforplayback,synchronously.vo
5、id prepareAsync()Preparestheplayerforplayback,asynchronously.void release()ReleasesresourcesassociatedwiththisMediaPlayerobject.void reset()ResetstheMediaPlayertoitsuninitializedstate.void seekTo(intmsec)Seekstospecifiedtimeposition.void setAudioStreamType(intstreamtype)Setsthea
6、udiostreamtypeforthisMediaPlayer.void setDataSource(String path)Setsthedatasource(file-pathorhttp/rtspURL)touse.void setDisplay(SurfaceHolder sh)SetstheSurfaceHoldertousefordisplayingthevideoportionofthemedia.void setVolume(floatleftVolume,floatrightVolume)Setsthevolumeonthispla
7、yer.void start()Startsorresumesplayback.void stop()Stopsplaybackafterplaybackhasbeenstoppedorpaused. 我们可以看出MediaPlayer类提供了一个多媒体播放器的基本操作,播放,暂停,停止,设置音量等等。状态机:音乐播放参考代码:Audiopreview.javaMediaplaybackservice.java1:音乐播放使用prepare():mPlayer=newMediaPlayer();try{mPlayer.setAudioStreamTyp
8、e(AudioManager.STREAM_MUSIC);设置音频类型为Music类型mPla
此文档下载收益归作者所有