【技术实现步骤摘要】
在Java虚拟机中实现混音播放的方法及系统
本专利技术涉及Java应用领域,具体是涉及一种在Java虚拟机中实现混音播放的方法及系统。
技术介绍
IPTV(InternetProtocolTelevision,IP电视/交互式网络电视)是一种利用宽带有线电视网、集互联网、多媒体、通讯等多种技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。IPTV业务大致分为基本业务和增值业务两大类,IPTV的基本业务是指以视听内容为主的视频内容服务,包括直播、点播、轮播、时移等;而IPTV的增值业务包括游戏、即时通信、电子支付以及卡拉OK等,其中,游戏分为网页游戏和Java游戏两种,是IPTV增值业务的重要组成部分。JavaME以往称作J2ME,是为机顶盒、移动电话和PDA(PersonalDigitalAssistant,个人数字助理)之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的JavaAPI(ApplicationProgrammingInterface,应用编程接口)。它和JavaSE、JavaEE一起构成Java技术的三大版 ...
【技术保护点】
一种在Java虚拟机中实现混音播放的方法,其特征在于,包括以下步骤:S1、利用Java虚拟机的扩展部件JSR135获取与音频相关的KNI扩展接口;S2、根据JSR135部件提供的音频相关KNI扩展接口,实现硬件设备的音频播放接口,所述音频播放接口包括音频创建media_create接口、音频关闭media_close接口、音频释放media_release_device接口、设置音频数据media_do_buffering接口、启动音频播放media_start接口、停止播放media_stop接口、音频销毁media_destroy接口;硬件设备支持创建两个播放器并同时播 ...
【技术特征摘要】
1.一种在Java虚拟机中实现混音播放的方法,其特征在于,包括以下步骤:S1、利用Java虚拟机的扩展部件JSR135获取与音频相关的KNI扩展接口;S2、根据JSR135部件提供的音频相关KNI扩展接口,实现硬件设备的音频播放接口,所述音频播放接口包括音频创建media_create接口、音频关闭media_close接口、音频释放media_release_device接口、设置音频数据media_do_buffering接口、启动音频播放media_start接口、停止播放media_stop接口、音频销毁media_destroy接口;硬件设备支持创建两个播放器并同时播放,通过基于硬件设备的软件开发工具包SDK扩展实现所述音频播放接口,初始化硬件设备,创建主播放器、从播放器,实现主、从播放器的混音播放控制;S3、将JSR135部件编入Java虚拟机中,生成支持音频播放和混音播放的Java虚拟机客户端;步骤S2中所述实现硬件设备的音频播放接口的流程如下:S201、创建并实现用于播放音频的音频创建media_create接口,所述media_create接口用于初始化硬件设备、创建主播放器和从播放器,并结合media_create参数生成音频流标示,将media_create参数设置到指针返回值中,以便调用其它播控方法时传入使用;设置主、从播放器的全局状态标志:播放状态、暂停播放状态和播放停止状态;S202、创建并实现用于设置音频数据的media_do_buffering接口,将传入的待播放音频流存入内存的音频文件中,并从Java虚拟机传入的指针中取出调用media_create接口时创建的音频文件名,作为该音频流的标示;S203、创建并实现用于启动音频播放的media_start接口,根据Java虚拟机传入的指针中存储的待播放音频的音频流标示,创建独立线程,循环读取media_do_buffering接口传入的音频流数据,并存储在内存中该音频流标示对应的音频流中,将读取的音频流交由对应主或从播放器进行音频播放,实现主、从播放器的混音播放控制;S204、创建并实现音频销毁的media_destroy接口,通过调用基于硬件设备的SDK提供的音频销毁方法,实现对创建的播放器所用资源的释放和销毁,并将之前创建并存入内存的音频文件清除;S205、创建并实现其它音频播放接口,通过结合硬件设备的对应SDK播控接口或方法实现:在创建播放暂停media_pause接口时,将对应的播放器全局状态标志设置为播放暂停状态;在创建停止播放media_stop接口时,将对应的播放器全局状态标志设置为停止状态;实现用于设置音量大小的media_set_volume接口:通过调用硬件设备的音量设置函数或方法,并将该接口传入音量大小参数作为音量值进行设置即可。2.如权利要求1所述的在Java虚拟机中实现混音播放的方法,其特征在于:步骤S201中所述media_create参数包括playerId、mimeType、mimeLength,其中,playerId表示媒体播放标示,每个音频在游戏中的唯一标示;mimeType表示音频类型;mimeLength表示mimeType的长度;音频流标示通过媒体播放标示playerId和音频类型mimeType进行描述标示。3.如权利要求1所述的在Java虚拟机中实现混音播放的方法,其特征在于:步骤S202中所述Java虚拟机传入的指针包括播放标示ID、音频流总长度、音频类型、音频流文件名、wave格式音频文件的声道数、比特率和采样率,其中,播放标示ID用长整形表示,音频流总长度用整形表示,音频类型用整形表示,用于标示当前音频流的类型;音频流文件名用字符型表示,存储在内存中或设备的可读写区域内;wave格式音频文件的声道数、比特率、采样率均用整形表示。4.如权利要求1所述的在Java虚拟机中实现混音播放的方法,其特征在于:步骤S203中将读取的音频流交由对应主或从播放器进行音频播放时,实时判断该播放器的全局状态标志,如果主播放器或从播放器处于播放暂停状态,则设置该播放器暂停播放对应音频流;如果主播放器或从播放器处于播放停止状态,则设置该播放器立即停止对应音频流的播放;主、从播放器在开始播放音频时,设置对应播放器的全局状态标志为播放状态;播放音频结束时,则设置对应播放器的全局状态标志为播放停止状态,即空闲状态。5.如权利要求1至4中任一项所述的在Java虚拟机中实现混音播放的方法,其特征在于:步骤S203中所述对应主或从播放器进行音频播放...
【专利技术属性】
技术研发人员:刘焱青,李明春,王子键,石磊,
申请(专利权)人:烽火通信科技股份有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。