CN105468360A - 一种面向第三方音频播放器的数据截取方法 - Google Patents

一种面向第三方音频播放器的数据截取方法 Download PDF

Info

Publication number
CN105468360A
CN105468360A CN201510791453.5A CN201510791453A CN105468360A CN 105468360 A CN105468360 A CN 105468360A CN 201510791453 A CN201510791453 A CN 201510791453A CN 105468360 A CN105468360 A CN 105468360A
Authority
CN
China
Prior art keywords
thread
data
shared drive
zone bit
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510791453.5A
Other languages
English (en)
Other versions
CN105468360B (zh
Inventor
张晖
刘宝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Post and Telecommunication University
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing Post and Telecommunication University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201510791453.5A priority Critical patent/CN105468360B/zh
Publication of CN105468360A publication Critical patent/CN105468360A/zh
Application granted granted Critical
Publication of CN105468360B publication Critical patent/CN105468360B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Telephone Function (AREA)

Abstract

本发明提出了一种面向第三方音频播放器的数据截取方法,从Android系统Native层的音频核心AudioFlinger入手,通过新创建的协同工作子线程与标准Android音频系统线程交互合作形成完备的数据截取闭环,在准确截取任意第三方音频播放器音频数据的同时又能保持对第三方音频播放器透明。本发明提出的一种面向第三方音频播放器的数据截取方法,通过软件方法加以实现,具有良好的可移植性与向后兼容性。

Description

一种面向第三方音频播放器的数据截取方法
技术领域
本发明涉及数字音频处理技术领域,尤其涉及一种面向第三方音频播放器的数据截取方法。
背景技术
在未来泛在通信环境下,协同思想已成为网络融合的主流。通过终端之间的智能协作,实现1+1>2的效果,为用户提供各类新型智慧服务,从而极大地提升用户的业务体验。在音频播放场景中,已有相关通过多个终端协同播放同一首音乐的多个声道实现立体声效果的应用程序,但此类应用只能通过特定软件才能实现协同播放的效果,无法做到对任意第三方音频播放软件透明,从而影响用户的实际体验。为了达到对第三方音频播放器透明的效果,需要应用程序能够实时截取任意第三方音频播放器播放的音频数据。
由于Android系统上层应用在封闭环境中运行,无法直接在应用层截取第三方音频播放器正在播放的音频数据。而根据Android系统的音频架构,所有上层音乐播放软件都要建立一个在Native层的AudioTrack对象,且播放的音频数据都要通过该AudioTrack对象传递至Android系统Native层的音频核心AudioFlinger进行混音,并写入到硬件抽象层(HardwareAbstractionLayer,HAL),进而通过驱动程序驱动硬件进行播放。
发明内容
为了克服现有技术的不足,本发明提出了一种面向第三方音频播放器的数据截取方法。该方法基于Android系统,在Android音频系统框架下通过对标准Android音频系统的底层修改和Native动态链接库开发,实现对任意第三方音频播放器音频数据的实时截取。一方面,该方案能够截取任意第三方音频播放器的音频数据,即对第三方音频播放器透明;另一方面,该方案采用软件方法,简单而易于实现,且具有很好的可移植性和向后兼容性。
为了解决上述技术问题,本发明采用的技术方案是:
本发明提出的一种面向第三方音频播放器的数据截取方法,所述方法基于Android音频系统,面向第三方音频播放器,进行数据截取,具体过程如下:
步骤1,创建用于集中控制数据截取过程的主控类对象ProcessMaster;
步骤2,通过所述主控类对象ProcessMaster,执行Native层的数据截取初始化,具体包括如下步骤:
步骤2-1,通过所述主控类ProcessMaster对象,在Native层开辟两块跨进程共享内存,分别为共享内存SharedBuffer1和共享内存SharedBuffer2,其中SharedBuffer1为环形共享内存,SharedBuffer2为普通共享内存;
步骤2-2,在所述主控类对象ProcessMaster中开辟一块环形内存MasterBuffer;
步骤2-3,通过所述主控类对象ProcessMaster创建一对协同工作子线程,分别为子线程ProcessThread1和子线程ProcessThread2,并启动子线程ProcessThread1和子线程ProcessThread2;
步骤3,在所述Android音频系统中添加音频截取标志位startflag,根据所述标志位startflag的值控制音频数据的流向,具体描述如下:
当所述标志位startflag的值为true时,将音频数据写入所述共享内存SharedBuffer1,进行音频数据截取,并执行步骤4;
步骤4,所述子线程ProcessThread1从所述共享内存SharedBuffer1中读取音频数据,将读取的音频数据写入所述环形内存MasterBuffer;所述子线程ProcessThread2从所述环形内存MasterBuffer中读取音频数据,将所述音频数据写入所述共享内存SharedBuffer2,并将所述共享内存SharedBuffer2中的音频数据写回到所述Android音频系统。
所述一种面向第三方音频播放器的数据截取方法,还包括对第三方音频播放器暂停或停止播放、音频播放进入数据不继、Android音频系统播放线程意外退出以及自身软件退出的处理方法,具体为:
所述对第三方音频播放器暂停或停止播放以及对音频播放进入数据不继的处理方法,具体过程为:
步骤a1,在所述Android音频系统中添加播放暂停标志位standbyflag;
步骤a2,当所述Android音频系统处理第三方音频播放器暂停或停止播放以及数据不继,调用standby函数时,若所述标志位startflag的值为true,则将该所述标志位standbyflag的值设置为true;
步骤a3,在所述子线程ProcessThread1和子线程ProcessThread2的线程循环中查询所述标志位standbyflag的值,若所述标志位standbyflag的值为true,则立即停止数据截取过程并清空所述共享内存SharedBuffer1、共享内存SharedBuffer2和环形内存MasterBuffer中的数据,等待下次播放或数据恢复正常;
所述对Android音频系统播放线程意外退出的处理方法,具体过程为:
步骤b1,在所述Android音频系统中添加退出标志位exitflag;
步骤b2,当Android音频系统处理底层播放线程意外退出,调用set_parameters函数时,检测出现意外退出时的参量,若检测到参量为exiting=1,则将所述标志位exitflag的值设置为true;
步骤b3,在所述子线程ProcessThread1和子线程ProcessThread2的线程循环中查询所述标志位exitflag的值,若所述标志位exitflag的值为true,则立即停止数据截取过程,并清空所述共享内存SharedBuffer1、共享内存SharedBuffer2和环形内存MasterBuffer中的数据,并执行软件退出流程;
所述对自身软件退出的处理方法,具体过程为:
步骤c1,当用户通过上层应用主动关闭数据截取功能时,由所述上层应用利用JNI,调用所述主控类对象ProcessMaster的退出接口;
步骤c2,通过所述主控类对象ProcessMaster的退出接口,关闭所述子线程ProcessThread1和子线程ProcessThread2,重置所述标志位startflag、标志位standbyflag和标志位exitflag的值,释放共享内存SharedBuffer1、共享内存SharedBuffer2和环形内存MasterBuffer,此后,数据截取过程关闭。
有益效果:本发明提出的一种面向第三方音频播放器的数据截取方法,从Android系统Native层的音频核心AudioFlinger入手,通过新创建的协同工作子线程与标准Android音频系统线程交互合作形成完备的数据截取闭环,在准确截取任意第三方音频播放器音频数据的同时又能保持对第三方音频播放器透明。同时,本发明提出的一种面向第三方音频播放器的数据截取方法,通过软件方法加以实现,具有良好的可移植性与向后兼容性。
附图说明
图1为本发明实施例1提供的一种面向第三方音频播放器的数据截取方法流程图。
图2为本发明实施例2提供的一种面向第三方音频播放器的数据截取方法流程图。
图3为协同工作子线程与Android音频系统线程交互示意图。
图4为本发明提供的一种面向第三方音频播放器的数据截取方法线程交互流程图。
具体实施方式
为了更加详细的描述本发明提出的一种面向第三方音频播放器的数据截取方法,结合附图,举例说明如下:
图1显示了本发明实施例1提供的一种面向第三方音频播放器的数据截取方法,该方法基于Android音频系统,面向第三方音频播放器,采用从HAL层进行数据截取,主要包括以下步骤:
步骤S101,创建主控类对象ProcessMaster;
步骤S102,音频数据截取初始化:主控类对象ProcessMaster根据音频播放配置参数获得第三方音频播放器在Native层的播放线程;开辟Native层的共享内存SharedBuffer1、共享内存SharedBuffer2和主控类对象ProcessMaster的环形内存MasterBuffer,并将所述共享内存SharedBuffer1、共享内存SharedBuffer2的控制结构赋值给HAL层添加的变量,用于再次访问;创建并运行子线程ProcessThread1和子线程ProcessThread2;
步骤S103,音频数据截取:在所述Android音频系统HAL层audio_hw.h的stream_out结构体添加标志位startflag;当所述Android音频系统播放线程调用write函数向HAL层写入音频数据时,若所述标志位startflag的值为true,则将音频数据写入所述共享内存SharedBuffer1,并执行步骤S104和步骤S105;
步骤S104,音频数据接收:所述子线程ProcessThread1从共享内存SharedBuffer1中读取音频数据,并将读取的音频数据写入环形内存MasterBuffer;
步骤S105,音频数据重放:所述子线程ProcessThread2从环形内存MasterBuffer中读取音频数据,并将读取的音频数据写入共享内存SharedBuffer2;同时子线程ProcessThread2从共享内存SharedBuffer2读取音频数据,并将读取的音频数据写回所述Android音频系统。
图2显示了本发明实施例2提供的一种面向第三方音频播放器的数据截取方法,该方法基于Android音频系统,面向第三方音频播放器,采用从Native层进行数据截取,主要包括以下步骤:
步骤S201,创建主控类对象ProcessMaster;
步骤S202,音频数据截取初始化:主控类对象ProcessMaster根据音频播放配置参数获得第三方音频播放器在Native层的播放线程,进一步根据参数找到第三方音频播放器对应的Track对象;开辟Native层的共享内存SharedBuffer1、共享内存SharedBuffer2和主控类对象ProcessMaster的环形内存MasterBuffer,并将所述共享内存SharedBuffer1、共享内存SharedBuffer2的控制结构赋值给Track对象中添加的变量,用于再次访问;创建并运行子线程ProcessThread1和子线程ProcessThread2;
步骤S203,音频数据获取:在所述Android音频系统的Track类中添加标志位startflag,若标志位startflag的值为true则屏蔽所述Android音频系统对该Track对象的混音处理及播放,并通过调用getnextbuffer()/releasebuffer()方法模拟该Track对象的数据读取过程,截取该Track对象的cblk缓冲中的音频数据,将截取的音频数据写入所述共享内存SharedBuffer1,并执行步骤S204和步骤S205;
步骤S204,音频数据接收:所述子线程ProcessThread1从共享内存SharedBuffer1中读取音频数据,并将读取的音频数据写入环形内存MasterBuffer;
步骤S205,音频数据重放:所述子线程ProcessThread2从环形内存MasterBuffer中读取音频数据,并将读取的音频数据写入共享内存SharedBuffer2;同时在所述子线程ProcessThread2中新建NativeAudioTrack对象,并通过该所述NativeAudioTrack对象将所述共享内存SharedBuffer2中的音频数据写回所述Android音频系统,进行正常流程的混音及播放。
经过上述两种实施方式的初始化、数据截取、数据接收和数据重放过程,所述子线程ProcessThread1、子线程ProcessThread2和Android音频系统线程共同读写共享内存SharedBuffer1、共享内存SharedBuffer2和环形内存MasterBuffer中的音频数据,形成“截取-处理-输出”闭环,其交互示意图如图3所示。
图4显示了本发明提供的一种面向第三方音频播放器的数据截取方法流程图,该方法基于Android系统,上层应用通过JNI机制创建ProcessMaster主控类对象,并通过该ProcessMaster主控类对象控制整个数据截取过程,具体的执行步骤如下:
S401,用户打开上层应用程序,应用程序通过JNI,创建主控类对象ProcessMaster,并调用初始化接口进行数据截取初始化;
S402,用户在应用程序中打开数据截取功能,应用程序利用JNI机制将Android音频系统中添加的标志位startflag的值设置为true,此后Android音频系统将音频数据转向写入共享内存SharedBuffer1;
S403,子线程ProcessThread1从共享内存SharedBuffer1中获取音频数据并将音频数据写入环形内存MasterBuffer;子线程ProcessThread2读取环形内存MasterBuffer中的音频数据,将读取的音频数据写入共享内存SharedBuffer2,并将共享内存SharedBuffer2中的音频数据写回到Android放音流程进行放音;
本发明提供的一种面向第三方音频播放器的数据截取方法,还包括对第三方音频播放器暂停或停止播放、音频播放进入数据不继、Android音频系统播放线程意外退出以及自身软件退出的处理方法,具体为:
所述对第三方音频播放器暂停或停止播放以及对音频播放进入数据不继的处理方法,当第三方音频播放器暂停或停止播放时,Android音频系统播放线程调用standby函数,进入standby流程。本方案对Android音频系统的standby函数进行修改,具体处理过程如下:
步骤a1,在Android音频系统中添加播放暂停标志位standbyflag;
步骤a2,当Android音频系统处理第三方音频播放器暂停或停止以及音频播放进入数据不继,调用standby函数时,若所述标志位startflag的值为true,则将该所述标志位standbyflag的值设置为true;
步骤a3,在所述子线程ProcessThread1与子线程ProcessThread2的线程循环中查询所述标志位standbyflag的值,若所述标志位standbyflag的值为true,则立即停止数据截取过程并清空所述共享内存SharedBuffer1、共享内存SharedBuffer2和环形内存MasterBuffer中的音频数据,等待下次播放或数据恢复正常。
所述对Android音频系统播放线程意外退出的处理方法,当Android音频系统播放线程意外退出时,调用set_parameters函数,通过参量exiting=1指示Android音频系统播放线程意外退出。本方案对Android音频系统的set_parameters函数进行修改,具体处理过程如下:
步骤b1,在Android音频系统中添加退出标志位exitflag;
步骤b2,当Android音频系统处理播放线程意外退出,调用set_parameters函数时,检测出现意外退出时的参量,若检测到参量为exiting=1,则将所述标志位exitflag的值设置为true;
步骤b3,在所述子线程ProcessThread1和子线程ProcessThread2的线程循环中查询所述标志位exitflag的值,若所述标志位exitflag的值为true,则立即停止数据截取过程并清空所述共享内存SharedBuffer1、共享内存SharedBuffer2和环形内存MasterBuffer中的音频数据,并执行软件退出流程。
所述对自身软件退出的处理方法,具体处理体过程如下:
步骤c1,当上层应用主动关闭数据截取功能时,由Java层利用JNI调用所述主控类对象ProcessMaster的退出接口;
步骤c2,通过所述主控类对象ProcessMaster的退出接口,关闭所述子线程ProcessThread1和子线程ProcessThread2,重置所述标志位startflag、标志位standbyflag和标志位exitflag的值,释放所述共享内存SharedBuffer1、共享内存SharedBuffer2和环形内存MasterBuffer,此后,音频数据截取过程关闭。

Claims (2)

1.一种面向第三方音频播放器的数据截取方法,所述方法基于Android音频系统,面向第三方音频播放器,进行数据截取,其特征在于,具体过程如下:
步骤1,创建用于集中控制数据截取过程的主控类对象ProcessMaster;
步骤2,通过所述主控类对象ProcessMaster,执行Native层的数据截取初始化,具体包括如下步骤:
步骤2-1,通过所述主控类ProcessMaster对象,在Native层开辟两块跨进程共享内存,分别为共享内存SharedBuffer1和共享内存SharedBuffer2,其中SharedBuffer1为环形共享内存,SharedBuffer2为普通共享内存;
步骤2-2,在所述主控类对象ProcessMaster中开辟一块环形内存MasterBuffer;
步骤2-3,通过所述主控类对象ProcessMaster创建一对协同工作子线程,分别为子线程ProcessThread1和子线程ProcessThread2,并启动子线程ProcessThread1和子线程ProcessThread2;
步骤3,在所述Android音频系统中添加音频截取标志位startflag,根据所述标志位startflag的值控制音频数据的流向,当标志位startflag的值为true时,将音频数据写入所述共享内存SharedBuffer1,进行音频数据截取,并执行步骤4;
步骤4,所述子线程ProcessThread1从所述共享内存SharedBuffer1中读取音频数据,将读取的音频数据写入所述环形内存MasterBuffer;所述子线程ProcessThread2从所述环形内存MasterBuffer中读取音频数据,将所述音频数据写入所述共享内存SharedBuffer2,并将所述共享内存SharedBuffer2中的音频数据写回到所述Android音频系统。
2.根据权利要求1所述的一种面向第三方音频播放器的数据截取方法,其特征在于,包括对第三方音频播放器暂停或停止播放、音频播放进入数据不继、Android音频系统播放线程意外退出以及自身软件退出的处理方法,具体为:
所述对第三方音频播放器暂停或停止播放以及对音频播放进入数据不继的处理方法,具体过程为:
步骤a1,在所述Android音频系统中添加播放暂停标志位standbyflag;
步骤a2,当所述Android音频系统处理第三方音频播放器暂停或停止播放以及数据不继,调用standby函数时,若所述标志位startflag的值为true,则将该所述标志位standbyflag的值设置为true;
步骤a3,在所述子线程ProcessThread1和子线程ProcessThread2的线程循环中查询所述标志位standbyflag的值,若所述标志位standbyflag的值为true,则立即停止数据截取过程,并清空所述共享内存SharedBuffer1、共享内存SharedBuffer2和环形内存MasterBuffer中的数据,等待下次播放或数据恢复正常;
所述对Android音频系统播放线程意外退出的处理方法,具体过程为:
步骤b1,在所述Android音频系统中添加退出标志位exitflag;
步骤b2,当Android音频系统处理底层播放线程意外退出,调用set_parameters函数时,检测出现意外退出时的参量,若检测到参量为exiting=1,则将所述标志位exitflag的值设置为true;
步骤b3,在所述子线程ProcessThread1和子线程ProcessThread2的线程循环中查询所述标志位exitflag的值,若所述标志位exitflag的值为true,则立即停止数据截取过程并清空所述共享内存SharedBuffer1、共享内存SharedBuffer2和环形内存MasterBuffer中的数据,并执行软件退出流程;
所述对自身软件退出的处理方法,具体过程为:
步骤c1,当用户通过上层应用主动关闭数据截取功能时,由所述上层应用利用JNI,调用所述主控类对象ProcessMaster的退出接口;
步骤c2,通过所述主控类对象ProcessMaster的退出接口,关闭所述子线程ProcessThread1和子线程ProcessThread2,重置所述标志位startflag、标志位standbyflag和标志位exitflag的值,释放共享内存SharedBuffer1、共享内存SharedBuffer2和环形内存MasterBuffer,此后,数据截取过程关闭。
CN201510791453.5A 2015-11-17 2015-11-17 一种面向第三方音频播放器的数据截取方法 Active CN105468360B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510791453.5A CN105468360B (zh) 2015-11-17 2015-11-17 一种面向第三方音频播放器的数据截取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510791453.5A CN105468360B (zh) 2015-11-17 2015-11-17 一种面向第三方音频播放器的数据截取方法

Publications (2)

Publication Number Publication Date
CN105468360A true CN105468360A (zh) 2016-04-06
CN105468360B CN105468360B (zh) 2018-09-21

Family

ID=55606103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510791453.5A Active CN105468360B (zh) 2015-11-17 2015-11-17 一种面向第三方音频播放器的数据截取方法

Country Status (1)

Country Link
CN (1) CN105468360B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107329726A (zh) * 2017-06-09 2017-11-07 青岛海信电器股份有限公司 Android系统中对输入的音频数据的处理方法和装置
CN113990457A (zh) * 2021-12-24 2022-01-28 极限人工智能有限公司 一种视频图像截取方法、装置、芯片、手术机器人与系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344887A (zh) * 2008-06-06 2009-01-14 网易有道信息技术(北京)有限公司 音频搜索方法及装置
CN102970589A (zh) * 2012-11-26 2013-03-13 中国联合网络通信集团有限公司 多终端协同播放媒体流的控制方法及装置
CN103593247A (zh) * 2013-11-18 2014-02-19 腾讯科技(成都)有限公司 一种数据传递方法、及装置
US20150304676A1 (en) * 2012-11-07 2015-10-22 Lg Electronics Inc. Method and apparatus for processing video signals

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344887A (zh) * 2008-06-06 2009-01-14 网易有道信息技术(北京)有限公司 音频搜索方法及装置
US20150304676A1 (en) * 2012-11-07 2015-10-22 Lg Electronics Inc. Method and apparatus for processing video signals
CN102970589A (zh) * 2012-11-26 2013-03-13 中国联合网络通信集团有限公司 多终端协同播放媒体流的控制方法及装置
CN103593247A (zh) * 2013-11-18 2014-02-19 腾讯科技(成都)有限公司 一种数据传递方法、及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
STEVEN HARGREAVES等: ""Structural Segmentation of Multitrack Audio"", 《IEEE TRANSACTIONS ON AUDIO,SPEECH,AND LANGUAGE PROCESSING》 *
崔国珍: ""基于音频信号的近距离数据传输系统设计与实现"", 《中国优秀硕士论文全文数据库 信息科技辑》 *
李淑霞: ""基于Android的音频系统研究与实现"", 《湖南邮电职业技术学院学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107329726A (zh) * 2017-06-09 2017-11-07 青岛海信电器股份有限公司 Android系统中对输入的音频数据的处理方法和装置
CN107329726B (zh) * 2017-06-09 2020-09-01 海信视像科技股份有限公司 Android系统中对输入的音频数据的处理方法和装置
CN113990457A (zh) * 2021-12-24 2022-01-28 极限人工智能有限公司 一种视频图像截取方法、装置、芯片、手术机器人与系统
CN113990457B (zh) * 2021-12-24 2022-03-04 极限人工智能有限公司 一种视频图像截取方法、装置、芯片、手术机器人与系统

Also Published As

Publication number Publication date
CN105468360B (zh) 2018-09-21

Similar Documents

Publication Publication Date Title
CN108536461B (zh) 资源更新方法、装置、终端及存储介质
US9176757B2 (en) Method, system and an executable piece of code for the virtualization of a hardware resource associated with a computer system
CN205212923U (zh) 可重构网络媒体话机终端
US10334118B2 (en) Method and system for providing video multimedia ringtone
US20160342384A1 (en) Mobile terminal and method for controlling sound output
CN104427388A (zh) 一种智能电视操作系统
CN103324518B (zh) 一种操作映射方法及装置
CN107037858A (zh) 一种移动终端的外接设备及屏幕显示信息的显示系统
CN101984404B (zh) 控制应用程序并行运行的方法、装置及具有该装置的终端
CN105468380A (zh) 一种安卓系统上管理音频焦点的优化方法
CN102768846B (zh) 一种音频播放方法、装置及终端
CN102333246A (zh) 一种基于机顶盒Flash中间件的用户界面系统
CN110955499A (zh) 处理器核心配置方法、装置、终端及存储介质
US20160132319A1 (en) End user programming for a mobile device
CN101819807B (zh) 在多媒体文件控制过程中实现快速响应的方法及播放装置
CN105786356B (zh) 一种应用的操作方法及装置
CN110175081A (zh) 一种针对Android音频播放的优化系统及其方法
CN105468360A (zh) 一种面向第三方音频播放器的数据截取方法
CN105578266A (zh) 音视频播放方法和多媒体播放器
CN101304496A (zh) 基于java的手机电视实现方法
CN104182704A (zh) 安全策略的设置方法、安全策略的设置装置和终端
CN109857489A (zh) 基于Android系统的开发系统、解耦方法和装置
CN105808324A (zh) 一种提高系统流畅度的方法及移动终端
CN102354278B (zh) 一种音频数据的处理方法和设备
CN101339789B (zh) 一种多媒体引擎的实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant