基于Symbian平台的流媒体播放器设计与实现
3. 3 歌词同步
首先在用户终端进行本地搜索与正在播放的音乐文件名字相同的歌词文件。若搜索到符合条件的文件,则对其进行解析。把文件的每一行内容作为一个数组单元存放在数组里,数据的单元包括有播放时间和歌词内容。由CMdaAudioPlayerUtility 类的GetPosition( ) 函数获得当前音频文件的播放位置,与数组中记录的歌词文件的时间做对比,来实现歌词同步。若没有搜索到歌词文件,则用歌词下载引擎从服务器下载并解析。
4 软件实现及效果
根据播放器的整体架构设计,在Symbian 平台上实现音乐媒体播放器,并在实际的移动通信网络中进行了测试。测试环境是中国移动GPRS /EDGE网络。测试手机为Nokia N95,操作系统为V9. 2,用户界面为S60 第三版。其ARM 主频11 332MHz,内存160MB。在真机上进行测试时,本地音频文件播放流畅。而播放在线电台的内容时( 即流式播放) ,其效果会受到网络状况的制约,但整体比较流畅。
播放器在真机上的效果如图4 所示。其中( a) 显示的是播放器的功能菜单,( b) 为本地播放和歌词同步的效果,( c) 显示流式播放时连接服务器的状态,( d) 为连接服务器成功后流式播放的效果,界面上可以显示当前的连接速度、音频文件的格式、流量等。
( a) 播放器功能菜单( b) 本地播放和歌词同步的效果( c) 流式播放时连接服务器的状态( d) 连接服务器成功后流式播放的效果
图4 软件效果图
5 结束语
MMusic 音乐播放器很好的实现了音频播放、音乐下载、歌词同步等功能。在此基础上,还可以增加一些音频的效果,使用户有更好的视听感受。同时在歌词同步方面,程序还可以增加调整歌词的功能,当出现歌词不同步时,用户可以根据实际情况进行调整。
评论