当前位置:
文档之家› 基于Android平台声控音乐播放器的设计与实现
基于Android平台声控音乐播放器的设计与实现
。在主类 MusicPlayerActivity 中利用方法 check-
NetWorkStatus( ) 引用 ConnectivityManager cwjManager 对象来判断网络是否连接正常。 此外, 要用到 Google 语音搜索服务, 必然需要 判断当前用户手机是否支持该服务, 所采用的方法 是通过 queryIntentActivities( ) , 查询 Android 系统的 所有 具 备 RecognizerIntent. ACTION _ RECOGNIZE _ SPEECH 的 Intent 的应用程序, 若有, 点击开启此服 务后, 能启动本应用。 语音识别完成后, 调用回调函数 onActivityResult( ) 回调获取从 Google 得到的数据, 写入数据集 链表 voiceData_list 之中:
手机不再仅是通信网络的终端, 还将成为互联网的终 端, 新一代的移动终端用户对移动设备的功能和性能有 用语音来控制手机更是逐渐成为 了更高的要求。目前, 高端智能手机的必备功能之一。在很多特殊的环境中, 比如驾车, 或者只是放松地坐着, 有时人们会希望解放 通过声音就能操纵手机应用, 让生活更便利。 双手, 本终端应用是一款基于 Android 系统开发的, 对 手机进行语音操作的音乐播放器, 利用 Google 语音 加上 GPRS 或 WiFi 信号, 就可以语音查找歌 搜 索,
1
引言
随着通信设备网络和计算机科学的不断发展, 智能
曲, 只要说出歌曲的名字或者演唱者的名字就能够播 同时, 还能实现以下功能: 在听歌时, 放想听的歌曲, 可以随时拉动进度条控制音乐的播放进度, 可以实现 歌曲播放状态的切换; 在歌曲列表中, 还可实现歌曲
[ 1 -2 ] 。它的后 的移除, 同时, 歌曲播放支持后台操作
基于 Android 平台声控音乐播放 * 器的设计与实现
周丽娴, 梁昌银, 沈 ( 重庆邮电大学 【摘 泽 通信网与测试技术重点实验室, 重庆 400065 )
·实用设计·
要】随着语音识别技术的不断发展, 人机交互将更多依赖于语音交流。 因此, 在移动终端开发出功能实用以
并结合 及界面美观的手机声控应用程序具有广阔的市场前景。基于 Android 移动平台开发设计了声控音乐播放器, Google 语音识别技术, 以及对音乐播放功能的实现, 最终设计出一个可以语音来控制音乐收听的应用 。 同时, 还创 使用户能够用语音快速查找到手机 SD 存储卡中的同一歌手的所有歌曲。 通过 造性地实现了语音搜索歌曲的功能, 语音播放音乐的功能完全实现, 性能稳定可靠, 实用性强。 真机测试, 【关键词】Android; Google 语音识别; 声控; 音乐播放 【中图分类号】TN912 【文献标志码】A Design and Implementation of Voicecontrol Media Player on Android ZHOU Lixian,LIANG Changyin,SHEN Ze ( Key Lab. on Communication Networks and Testing Technology,Chongqing University of Posts and Telecommunications,Chongqing 400065 ,China) 【Abstract】With the development of voice recognition technology, the interaction between machines and brains will rely more control application of practical on voice communication. Therefore,it will be a vast future market for developing mobile voicefunction and beautiful panel. The media player of this thesis designed is based on Android platform,by integrating Google voice technology,with the implementation of music player function,a software application is designed which could help the the idea is came up creatively and the same theory can be used to realize user listen to music by voice command. In the meantime, the function of searching the songs by speech, so that the users could find the same singer’ s all the songs in SD memory card by voice. According to the real machine testing, it fully realized the voice activated playing, the performance is stable and reliable. 【Key words】Android; Google speech recognition; voice - control; music playing
*
台功能让软件以最小消耗换取最多的收益, 真正让用 欢乐无忧。 户轻松自由,
2
2. 1
研究基础
Android OS 架构研究 Android 手机系 在 Android 作为平台的手机中,
统是基于 Linux 平台的开源手机操作系统, 其软件架 包括应用层、 应用平台层和系统 构又可分为三层, 层
[ 3 -4 ]
32
机上安装的各种应用程序, 包括通讯录、 短信息和相 机等。本文研究和实现的声控音乐播放器也属于该 层。声控者乐播放器架构图如图 1 所示。
图1
声控音乐播放器架构图
2. 2
终端应用架构及运行流程 本远程终端应用是基于广义上的 C / S 服务架构
图2 音乐播放器功能模块图
主要应用于通过语音信号识别用户指令, 从而 开发, 完成指定工作, 客户端即为 Android 手机, 服务端为 Google 语音处理服务端
voiceDate_list = data. getStringArrayListExtra ( RecognizerIntent. EXTRA_RESULTS) ;
获取语音识别数据的具体流程如图 4 所示。 数据集链表 voiceDate_list 存储的数据将用来与 手机存储的歌曲数据信息进行匹对。 ( 2) 数据匹对 数据匹对需要遍历存储歌曲名称的数据链表 songName_ list 和 语 音 识 别 的 后 返 回 的 数 据 链 表 voiceDate_list。为了增 加 匹 配 的 有 效 性, 在匹配之 前, 使用 String 类的 replace( ) 去掉两个数据链表中 仅仅只是大小写不相同的字符应 无效的空格; 此外, 该 视 为 相 等, 即需要用 equalsIgnoreCase( ) 方法来比 较两个字符串是否相等。 歌曲名称的形式并不固定, 往往具有以下三种 常见的形式: 3Байду номын сангаас 2. 3 音乐播放 音乐播放列表主要是有两个播放列表, 其一是从 音乐库中获得的音乐数据并显示在 songOfSdCard_Li图5 获取歌曲数据流程图
Cursor cursor = context. getContentResolver( ) . query( MediaStore. Audio. Media. EXTERNAL_CONTENT_URI,new String [ ] { …… } , MediaStore. Audio. Media. MIME_TYPE + " = ? or " + new String[ ] { MediaStore. Audio. Media. MIME_TYPE + " = ?" , " audio / mpeg" , " audio / xmswma" } , null) ;
。本应用系统功能在于实
时识别并执行用户语音指令。 音乐播放器的层次架构主要由三部分组成, 包 括音乐库层、 音乐播放层和后台服务层。其中音乐播 放层包括了音乐播放的主界面模块以及播放队列模 块, 音乐播放的主界面模块贯穿程序的始终, 作为整 个系统的主模块, 允许其他模块的切入和切出。而播 放队列模块是指音乐库中包括正在播放的歌曲的集 合。后台服务模块包括音乐服务模块和服务控制模 块。音乐服务模块负责播放和控制音乐播放状态。
遍历游标 cursor 对象, 将歌曲名和歌曲存储路径 分别存储到数据链表集 songName_list 和 songPath_list 之中, 即可获取到所有的音乐资源列表。获取全部歌 曲资源列表流程图如图 3 所示。 3. 2. 2 语音查找歌曲 语音找歌是本应用最大的特色功能, 其实现原理 将得到的 是利用 Google voice 解析用户语音输入指令, 语音输入结果与手机上存储的歌曲数据进行匹对, 匹对 成功则即可成功播放该音乐。语音查找歌曲模块主要 实现两个功能: ( 1) 获得语音数据; ( 2) 数据匹对与存储。
[ ] 重庆市知识产权专项基金; 国家科技重大专项 基金项目
。其中, 应用平台层位于 Android 操作系统和
( 2012ZX03005002 - 005 ) ; 重庆市应用开发计划项目( cstc2013 yykfA40006 )
HomeScreen 用于用户开始显示, 是管理 应用层之间, 和开启应用程序的平台。最上层的应用层包含了手