当前位置:主页 > 新闻中心 >

新闻中心

NEWS INFORMATION

‘亚博app下载链接’Android重力感应实现方式简介

时间:2021-02-17 00:59 点击次数:
  本文摘要:在Android中,运营商更容易搭建图形界面和多媒体。而对于大多数手机用户来说,主要是根据这些功能来改变系统。我们可以通过本文讲解的Android开源内核的源代码理解,具体分析这方面的基础知识。 Android开放内核的代码在以下目录:external/opencore/。这个目录是android开放核心的根目录,它的子目录如下:*android:有一个上层库,基于PVPlayer和PVAuthor的SDK为Android搭建一个Player和Author。

亚博app手机版

在Android中,运营商更容易搭建图形界面和多媒体。而对于大多数手机用户来说,主要是根据这些功能来改变系统。我们可以通过本文讲解的Android开源内核的源代码理解,具体分析这方面的基础知识。

Android开放内核的代码在以下目录:external/opencore/。这个目录是android开放核心的根目录,它的子目录如下:*android:有一个上层库,基于PVPlayer和PVAuthor的SDK为Android搭建一个Player和Author。*baselibs:底层库包括数据结构和线程安全*codecs_v2:这是一个内容比较多的库,主要包括编解码器的构建。

以及一个OpenMAX *引擎的构建:包括PVPlayer和PVAuthor引擎*extern_libs_v2的构建:OpenMAX的头文件包括khronos *fileformats:文件格式的解析器类*节点:各种编解码和文件解析的节点类。*oscl:操作系统兼容库*pvmi:输入输出控制的抽象模块*协议:主要涉及RTSP、RTP、HTTP等与网络相关的协议* pvcommon:pvcommon库文件的Android.mk文件,无源文件。* pvplayer:pvplayer库文件的Android.mk文件,没有源文件。

* pvauthor:pvauthor库文件的Android.mk文件,没有源文件。*tools_v2:编译器工具和一些可注册的模块。

splitter的定义和初始化以wav的Splitter为例。在fileformats目录中,有解析wav文件格式的pvwavfileparser.cpp文件,在nodes目录中,有PVMF _ WaveffParser _ Factory。

CPP,PVMF _ WaveffParser _ Node。h,PVMF _ WaveffParser _ Port。h等文件。

亚博网APP

从下往上看,vwavfileparser.cpp中的PV_Wav_Parser类有InitWavParser(),GetPCMData(),RetrieveFileInfo()等成员函数。这个类应该是最后一个解析类。我们搜索使用PV_Wav_Parser类的地方,就知道PVMFWAVFFParserNode类中有一个PV_Wav_Parser的指针成员变量。

进一步搜索显示,PVMFWAVFFParserNode类是由PVMFWAVFFParserNode()的CreatePVMFWAVFFParserNode()成员函数分解的。函数CreatePVMFWAVFFParserNode()是通过pvplayernoderegistry:pvplayernoderegistry()类的构造函数中的PVPlayerNodeInfo类注册到Oscl_vector 《PVPlayerNodeInfo,OsclMemAllocator》的Vector中的。

在这个构造器中,像AMR和mp3这样节点也在一定程度上被注册。从上面可以看出,Android Opencore中拆分器的管理和ffmpeg类似,在框架初始化的时候就注册了,只不过Opencore注册了每个拆分器的工厂函数。总结拆分器的定义和初始化过程:每个拆分器在fileformats目录下都有对应的子目录,每个子目录都有自己的解析类。每个拆分器都与nodes目录下对应的子目录相关,该子目录有自己统一的模块节点类和nodefactory类。

广播引擎的PVPlayerEngine类具有PVPlayernoderegistry 1 Playernoderegistry成员变量。在PVPlayerNodeRegistry的构造函数中,标记了AMR、AAC、MP3等拆分器的输出和输入类型,通过PVPlayerNodeInfo类将nodefactory类中的createnode和releasedelete模块推送到oscl _ vector《PVPlayerNodeInfo,OsclMemAllocator》itytype成员变量。给定过程pvmfstatusppplayernoderegistry:queryregistry(pvmformatypeainputtype,PVMFFormatTypeaOutputType,Oscl _ vector《PVUuid,OsclMemAllocator》audids)函数是根据输出类型和输入类型找出注册的nodevector中是否有给定的节点,如果有,则根据其唯一的标识标识符PVUuid。从QueryRegistry这个函数至底向上搜寻可获得,在机器人中分流器的给定过程如下:android_media_MediaPlayer.cpp之中定义了一个jninativmethod(JAVA本地调用方法(类型的数组方法,供爪哇岛代码中调用多人游戏类的设置数据源成员函数时寻找对应的c函数1.{setDataSource,(Ljava/lang/String;)V,(void *)Android _ media _ MediaPlayer _ set数据源},2。

静态void Android _ media _ MediaPlayer _ set数据源(jnie NV * env,jobjectthiz,jstringpath)此函数中再行获得当前的MediaPlayer实例,然后调用其设置数据源函数,起源于路径3 .status _ tmedipblayer:set数据源(const char * URL)此函数通过调getMediaPlayerService()再行获得当前的MediaPlayerService,const sp 《IMediaPlayerService》 service(GetMediaplayerservice());然后新建一个IMediaPlayer变量,sp 《IMediaPlayer》 player(service-> " create(getpid(),this,fd,offset,length));在sp 《IMediaPlayer》 MediaPlayer ServiCe:create(PID _ tpid,constsp 《IMediaPlayerClient》客户端,constchar*url)中调status _ TMediplayerservice:Client:set数据源(const char * URL)函数,客户端是MediaPlayerService的一个内部类。在媒体播放服务:客户端:设置数据源中,调sp 《MediaPlayerBase》 MediaPlayer ServiCe:Client:CreatePlayer(Player _ TypePlayer类型)分解一个承继自MediaPlayerBase的PVPlayer实例。以上就是对机器人多媒体框架的源代码的理解。


本文关键词:‘,亚博,app,下载,链接,’,Android,重力,感应,在,亚博网APP

本文来源:亚博网APP-www.lanierauto.net

Copyright © 2008-2021 www.lanierauto.net. 亚博网APP科技 版权所有 备案号:ICP备35190379号-3

在线客服 联系方式 二维码

服务热线

0769-828679240

扫一扫,关注我们