Android多媒体
文章平均质量分 74
刘望舒
腾讯最具价值专家,Android进阶书畅销前三: 《Android进阶指北》《Android进阶解密》《Android进阶之光》 作者 ,连续5年蝉联电子工业出版社年度优秀作者。国内首批Android开发者,10多年开发经验,前华为架构师、独角兽公司技术总监。国内唯一被百度百科收录的Android技术专家,谷歌开发者社区、Droidcon等技术大会特邀讲师,CSDN 2018年度十大博客之星。
展开
-
OpenCore框架概述(二)
OpenCore Player介绍:OpenCore的Player的编译文件是pvplayer/Android.mk,将生成动态库文件libopencoreplayer.so。这个库包含了两方面的内容:一方是Player的engine(引擎),一方面是为Android构件的Player,这实际上是一个适配器(adapter)。libopencoreplayer.so中包含了以下内容:一原创 2011-12-18 18:00:40 · 3182 阅读 · 0 评论 -
Android MediaPlayer+Stagefright框架(音频)图解
在android原生的媒体播放器中是由mediaplayerservice来控制媒体播放器的,在mediaplayerservice中创建了mediaplayer,在mediaplayer.java的native方法通过jni调用android_media_mediaplayer.cpp中的方法,接着往下调用mediaplayer.cpp中的方法,mediaplayer通过ipc机制调用media原创 2012-01-26 10:20:53 · 17487 阅读 · 3 评论 -
Android mediaRecorder框架简述(二)
这里有个setupVideiEncoder,看来这里应该是对视频编码的地方 根据不同的编码类型来设置不同的参数,这个方法代码有些多直截取部分代码:来看看关键的一句,这里创建了OMXCodec 然后把创建了的编码器赋值给MediaSource,这里的MediaSource可以看作是OMXCodec的封装,这样编码器的准备工作就已经做好了:接着我们回到startMPEG4Recor原创 2012-12-10 16:21:10 · 6053 阅读 · 1 评论 -
MediaPlayer框架概述(一)
1.媒体播放器概述Android的MediaPlayer包含了Audio和video的播放功能,在Android的界面上,Music和Video两个应用程序都是调用MediaPlayer实现的。MediaPlayer在底层是基于OpenCore(PacketVideo)的库实现的,为了构建一个MediaPlayer程序,上层还包含了进程间通讯等内容,这种进程间通讯的基础是Android基本原创 2011-12-03 15:07:46 · 7975 阅读 · 1 评论 -
MediaPlayer框架概述(二)
3 mediaplayer的核心库libmedia.solibs/media/mediaplayer.cpp文件用于实现mediaplayer.h提供的接口,其中一个重要的片段如下所示:const sp& MediaPlayer::getMediaPlayerService(){ Mutex::Autolock _l(mServiceLock); if (mMedia原创 2011-12-05 00:37:03 · 6286 阅读 · 1 评论 -
Android mediaRecorder框架简述(一)
下面是框架简图:首先调用mediaRecorder.java中的方法比如start方法,会调用jni:也就是调用android_media_recorder.cpp的start方法: 接着到mediaRecorder.cpp,mediaRecorder是由mediaplayerService创建的,而mediaRecoder.cpp和mediap原创 2012-12-10 15:46:57 · 8891 阅读 · 6 评论 -
H264 获取SPS与PPS
在用android手机进行h264硬编码的时候如果要进行视频流的实时传输,就需要知道视频流的Sequence Parameter Sets (SPS) 和Picture Parameter Set (PPS)。今天算是看明白如何获取SPS和PPS,在这里记录下来,希望有需要的朋友可以在这里获取到一些些的帮助。首先说一下大前提,我设置的视频录制参数为:mMediaRecord转载 2012-11-04 19:33:32 · 9980 阅读 · 0 评论 -
MediaPlayer和AudioTrack播放Audio的区别与联系
播放声音可以用MediaPlayer和AudioTrack,两者都提供了java API供应用开发者使用。虽然都可以播放声音,但两者还是有很大的区别的。其中最大的区别是MediaPlayer可以播放多种格式的声音文件,例如MP3,AAC,WAV,OGG,MIDI等。MediaPlayer会在framework层创建对应的音频解码器。而AudioTrack只能播放已经解码的PCM流,如果是文转载 2012-11-02 17:15:19 · 2629 阅读 · 0 评论 -
Android三种播放视频的方式
在Android中,我们有三种方式来实现视频的播放:1、使用其自带的播放器。指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型。2、使用VideoView来播放。在布局文件中使用VideoView结合MediaController来实现对其控制。3、使用MediaPlayer类和SurfaceView来实现,这种方式很灵活。1、调用其自带的原创 2012-01-28 19:16:38 · 79529 阅读 · 18 评论 -
Camera源码分析(android2.2)
android通过android.hardware.Camera类来控制摄像头设备的,要使用只有通过android.hardware.Camera.open()来打开,这样就会创建一个新的Camera对象。android提供了一些接口来给予回调,控制Camera的状态,分别是: 1.android.hardware.Camera.ErrorCallback:摄像头出错的原创 2011-09-08 14:10:28 · 6600 阅读 · 2 评论 -
MediaPlayer的生命周期
下面图表表现出来生命周期和MediaPlayer类的控制操作,椭圆体描述了MediaPlayer 类的状态,弧线描述了重放控制的运作,有两种箭头,单箭头的弧线代表同步方法的调用,爽箭头代表异步方法的调用。 从这个图我们可以看出MediaPlayer类有如下的状态:l 当一个 MediaPlayer类 刚用new或者在reset()调用后创建,这时处于空闲状态,在relea原创 2011-11-17 15:30:59 · 8233 阅读 · 0 评论 -
OpenCore框架概述(一)
OpenCore是一个多媒体的框架,从宏观上来看,它主要包含了两大方面的内容:PVPlayer:提供媒体播放器的功能,完成各种音频(Audio)、视频(Video)流的回放(Playback)功能。PVAuthor:提供媒体流记录的功能,完成各种音频(Audio)、视频(Video)流的捕获(Recording)功能PVPlayer和PVAuthor以SDK的形式提供给开发者,可以在这个SDK之上原创 2011-12-17 23:02:34 · 3875 阅读 · 0 评论 -
Stagefright框架解读(—)音视频Playback流程
从Android 2.0,Google引进了Stagefright,并在android2.3时用Stagefright在Android中是以shared library的形式存在(libstagefright.so),其中AwesomePlayer可用來播放video/audio。AwesomePlayer提供許多API,可以让上层的应用用程式(Java/JNI)來呼叫,我在这里简单说明一原创 2012-01-28 12:38:10 · 7917 阅读 · 0 评论