audio
文章平均质量分 85
忙忙碌碌一头羊
这个作者很懒,什么都没留下…
展开
-
Android音频浅析及各种音频场景下的audio data path
转自:Android智能手机上的音频浅析Android智能手机中各种音频场景下的audio data path1. 硬件下图是Android智能手机中目前主流的跟音频相关的硬件框图。上图中AP是应用处理器(application processor),现在用的最多的是ARM的处理器,在上面主要运行的是操作系统(OS,例如android)和应用程序。CP是通信处理器(communication processor),也叫基带处理器(baseband processor,BP)或者modem,上面转载 2021-08-20 14:54:22 · 1792 阅读 · 0 评论 -
Android10.0Auidio之MediaPlayer(六)- 选择player的评分机制
前言我们知道MediaPlayer播放的时候,最终会调到native层的MediaPlayerService中,在MediaPlayerService中会创建NuPlayer和TestPlayer,那么这俩Player是如何选择的呢?就涉及到了选择player的得分机制。正文先看下MediaPlayerService创建player的过程,首先MediaPlayerService在启动的时候MediaPlayerService::MediaPlayerService(){ ALOGV("M转载 2021-03-28 23:17:25 · 215 阅读 · 0 评论 -
Android10.0Auidio之MediaPlayer(五)
前言前边分析了MediaPlayer从java通过jni到native层的过程,其实mediaplayer的真正的逻辑存在是在mediaPlayerService中处理的,那么今天我们就从源码看下mediaplayerService的初始化过程正文MediaPlayerService通过mediaserver.rc启动,我们先看下man函数,源码位置/frameworks/av/media/mediaserver/int main(int argc __unused, char **argv __u转载 2021-03-28 23:01:01 · 242 阅读 · 0 评论 -
Android10.0Auidio之MediaPlayer(四)
前言之前说了MediaPlayer如何从java层到jni,以及jin如何callback回调到java,今天继续看看native层的mediaplayer又做了什么。正文先说下路径位于frameworks/av/media/libmedia/mediaplayer.cpp,我们先从mediaplayer的构造跟析构函数说起MediaPlayer::MediaPlayer(){ ALOGV("constructor"); mListener = NULL; mCookie转载 2021-03-28 22:33:05 · 214 阅读 · 0 评论 -
Android10.0Auidio之MediaPlayer (三)
之前说过了MediaPlayer java层的到jni的故事,我们知道了jni是如何跟java层mediaplayer联系上的,包括mediaplayer的初始化,callback的调用等,今天在来简单聊下setDataSource。正文MediaPlayer的setDataSource方法主要如下setDataSource(FileDescriptor)setDataSource(String)setDataSource(Context, Uri)setDataSource(FileDescr转载 2021-03-26 12:12:22 · 197 阅读 · 0 评论 -
Android10.0Auidio之MediaPlayer(二)
MediaPlayer的java层API的使用以及说明网上还是很多的,如果深究其原理呢,会发现最终都调了native XXX方法,其实这就调到了jnistatic { System.loadLibrary("media_jni"); native_init();}这里调到了media_jin,在frameworks/base/media/jni/android_media_MediaPlayer.cpp 中static const JNINativeMethod gMethods转载 2021-03-26 11:05:12 · 195 阅读 · 0 评论 -
Android9.0Auidio之MediaPlayer(一)
正文 android关于媒体播放的方式主要有三种,我们通过一些资料以及官方文档大概都了解MediaPlayer、SoundPool、以及AudioTrack。或者他们的区别和使用场景,我们也都很熟悉,但无论哪一种方式,又是如何将声音一步一步播放出来最终人耳可以感受到的呢?今天先来分析下MediaPlayer。 MediaPlayer 状态图 说API之前先看下MediaPlayer的状态转化图: 这张图完全说明了MediaPlayer的各个状态的转化逻辑,哪些状态可以来回转化,哪些状态不可以,这个图转载 2021-03-23 18:38:03 · 641 阅读 · 0 评论