APP下载

智能手机音乐播放系统的关键技术研究

2020-07-14王珲陆伟

现代电子技术 2020年10期
关键词:功能设计系统设计智能手机

王珲 陆伟

摘  要: 由于受传统音乐设备无法快速从大量歌曲中找到感兴趣歌曲的影响,很多用户已放弃了听音乐的习惯。基于此,文中主要从三个方面完成移动音乐播放系统的整体设计,对移动音乐播放系统的关键技术进行研究,而后得到安卓手机音乐播放器的曲目推荐功能。实验结果表明,该设计达到了预期目标,能为用户推荐更多满意的歌曲,使用户重拾听音乐的习惯。

关键词: 音乐播放系统; 智能手机; 系统设计; 关键技术研究; 功能设计; 曲目推荐

中图分类号: TN915.5?34                          文献标识码: A                       文章编号: 1004?373X(2020)10?0006?04

Research on key technology of music player system of smart phone

WANG Hui, LU Wei

(Northwestern Polytechnical University, Xian 710072, China)

Abstract: Since the traditional music devices can′t quickly find interested songs from a large number of songs, many users have given up their habits of listening to music. Because of this reason, the overall design of the mobile music player system is completed from three aspects mainly, the key technologies of the mobile music playback system are researched, and then the track recommendation function of the Android phone music player is got. The experimental results show that this design achieves the expected goal, can recommend more satisfied songs for users, and enable users to regain their habit of listening to music.

Keywords: music player system; smart phone; system design; key technology research; function design; track recommend

0  引  言

伴隨着我国科技水平的提高,智能手机的推广,人们的生活习惯正在慢慢发生改变。智能手机以其便捷、功能多样化的优势,获得了广大群众的喜爱与推广,加快了其发展态势,特别是安卓手机。在该背景下,市面上各类品牌手机相继涌现,譬如常见的华为、苹果以及小米等,满足了人们选择的多样化。随着时代的迅猛发展,人们所面对的压力也迎面而来,如生活中的、学习上的、工作上的等。为缓解这种压力,智能手机的音乐播放软件得到了重视与运用,成为人们解压的一种方式[1?2]。智能手机音乐播放器与传统的录音机以及MP3等音乐设备相比有着明显的优势,如便捷性、多样性等,最为突出的是传统音乐播放设备不具备曲目推荐功能,无法为用户提供感兴趣的推荐界面。因此,为解决这一现状,本文将对移动音乐播放系统的关键技术进行剖析,证实移动音乐播放器的智能化,使更多用户融入到音乐的熏陶中,缓解生活、工作以及学习带来的压力。

1  系统设计

本文主要从三个方面完成移动音乐播放系统的整体设计:

1) PC管理模块设计,以实现管理员登录帐号、查询歌曲、修改歌词、删减曲目等后台管理功能。

2) 服务器端模块设计,以实现数据的接收与发送、数据库的操作、曲目推荐等功能。

3) 设计音乐播放模块,有效地实现IP的注册以及登录、本地或网络音乐下载与播放等功能。

这三个模块设计存在一定的关联性,具体如下:PC管理模块在对播放系统后台信息起到管理作用的同时,还会在服务器端中存储相关信息,而后由移动音乐播放器完成音乐的播放。移动音乐播放模块主要的功能是处理用户行为数据,生成用户曲目矩阵。此时,借助有关推荐算法实现曲目列表的生成工作,并由服务器将曲目推荐列表传输至移动音乐播放模块中并将其显示出来。整体设计框架如图1所示。

1.1  PC管理端功能设计

PC管理模块设计旨在完成管理员登录和后台管理这两种功能[3]。在此设计中,会涉及到4种不同的模块信息:

1) 管理员登录模块。其核心的功能是实现管理员的登录。管理员在输入正确的密钥后,就能够进入到后台的管理界面,进而实现对于音乐信息的管理。

2) 歌手信息管理模块。管理者通过该模块完成歌手信息的修改、添加以及查找,并根据歌手相关信息执行其应有的权限。

3) 专辑信息管理模块。通过该模块,管理者能够实现对信息的修改、添加和查询,也能够根据歌手的相关信息完成专辑信息的修改、添加工作。

4) 歌曲信息管理模块。管理者通过该模块完成歌曲信息的修改、添加以及查找,并根据需要不断完善歌曲信息。

由此可见,管理员在进入后台管理系统后,可先执行修改、添加以及查找等歌手信息的操作,而后在执行第一项操作的基础上,达到管理歌曲信息和专辑信息的目的。PC管理模块处理流程如图2所示。

1.2  音乐资源服务功能设计

服务模块设计旨在完成的功能有:

1) 能够接收并发送音乐数据,即音乐数据接发功能;

2) 能操作音乐数据库,即音乐数据库操作功能;

3) 能向用户推荐符合用户喜好的曲目,即曲目推荐功能[4?6]。

同时,在此设计中,还会涉及到4种不同模块的信息:

1) 数据接收模块。通过该模块完成服务器端的接收功能,在接收的同时也会打开传输的通道,便于数据信号的发送。

2) 数据发送模块。通过该模块实现与第一步的衔接,将已处理完善的数据信号发送出去,由移动客户端或PC管理端负责接收。

3) 数据库操作模块。通过该模块实现数据的完善工作,完善的方式有很多,如修改、添加、删除等均可实现,主要还是需要根据实际需要着手操作。

4) 曲目推荐模块。通过该模块完成歌曲推荐的目的,推荐之前,对用户行为记录进行收集并处理,根据用户的喜好生成曲目推荐列表,由数据发生模块负责发送,最终将完整满足用户需求的曲目列表展现在用户眼前。

总体而言,音乐数据首先由服务器端负责接收处理,接着将处理完善的结果反馈给发送端,形成一条双向回路。然后,根据用户的行为记录完成曲目推荐列表的制作,最后将所完善的推荐曲目列表在客户端进行显示,为用户提供便利服务。

1.3  移动客户端功能设计

实现安卓音乐播放器是移动客户端模块的最终目标[7]。在设计过程中,涉及到五大模块:

1) 用户注册与登录模块。通过该模块为用户开通帐号注册和登录的渠道,用户在输入正确密钥后,进入音乐播放系统,实现收集用户播放行为的目的。

2) 用户播放行为记录模块。顾名思义,该模块主要的功能是收集和记录用户的行为,系统在收集结束后会对这类兴趣记录进行相应的处理,接着由服务器端完成这類兴趣记录的二次处理,而后生成曲目推荐列表,对应的流程图如图3所示。

3) 本地音乐播放模块。该模块主要的功能是对本地音乐进行播放,用户通过点击本地音乐按键获取对应的曲目列表,接着选择喜欢的曲目点击播放即可。

4) 网络音乐缓存与下载模块。该模块主要的功能是实现网络音乐的缓存以及下载,使用户通过连接服务器端的方式来获取查看音乐数据的途径,从而完成网络音乐的缓存与下载工作。此外,还可保存到本地音乐当中,便于后续的播放。

5) 音乐可视化模块。该模块不但能够让用户便捷地查看歌手信息、歌曲信息以及专辑信息等,还能实时观察音乐播放时长、状态以及歌词等信息。

2  系统实现

2.1  PC管理端实现

PC管理端主要的功能是实现后台的管理以及实现管理员登录。其中,对于管理员登录功能来说,其需要输入正确的账号和密码才能够登录到后台,在后台完成相应的管理工作。对后台管理功能而言,可先从管理界面着手,以树状结构列表的形式将歌曲管理按键、歌手管理按键以及专辑管理按键在信息预览窗口中表示出来,便于管理员的管理。当管理者点击不同功能会呈现出对应的信息概况,如:点击歌曲管理按键时,歌曲的时长、歌词以及演唱者等信息均会一一展现出来;点击歌手管理按键时,歌手姓名、性别以及ID等相关信息都会显示在管理的主界面上。

2.2  服务器端实现

移动客户端或PC管理端发射出来的信号会传输至服务器,经服务器处理后得到的数据结果又会被传输回移动客户端或PC管理端。实际上,服务器端的功能可通过以下几个方面来完成。

2.2.1  音乐数据收发功能

在收发数据中,分别指的是对于数据的接收和发送,虽然功能是完全相反的,但是都是通过服务器端线程来实现的。其中,服务器端线程由主线程和代理线程共同组成,其各自兼具着不同的任务。如主线程负责音乐请求信号的接收工作,为了让发送工作顺利实现,此时会借助代理线程对音乐信号进行相应的处理。在处理完善后,由服务器端将音乐请求信号反馈回发送端,即移动客户端或PC客户端。在此过程中,主线程接收音乐请求信号时需要通过3个步骤来实现:

1) 构建一个ServerThread线程;

2) 完成一个ServerScoket对象的定义工作;

3) 启动线程。

若3个步骤均能一一实现,那么就可以表明音乐数据请求已接收成功,接着就可以进行下一阶段的处理工作,即由代理线程负责实现。同样,代理线程在处理音乐数据请求时,也不是一蹴而就的,需要通过以下几个流程来实现:

1) 完成音乐请求数据输入流和输出流的构建工作;

2) 以字符的形式标注输入和输出流中的数据,并记录到字符串中;

3) 将歌曲信息的获取路径保存至字符串中;

4) 处理音乐请求数据,并以字符串的形式表征处理结果,进而以流的方式将音乐请求数据反馈回请求发送端,即移动客户端或PC客户端。

音乐数据收发模块的实现主要是通过如下代码:

din=new DataInputStream(sc.getInputStream());

dout=new DataInputStream(sc.getOutputStream());

msg=din.readUTF();

if(msg.starts With(Constant.GetSongList));

ls=DBUtil.getSongList();

mess=StrListChange.ListToStr(ls);

dout.writeUTF(mess);

else if(msg.starts With(Constant.GetAlbumList)){…}

2.2.2  音乐数据库操作功能

数据库操作功能主要是实现了如下功能:对于数据的修改和添加;对于数据的查找和删除。本文数据库操作实现中借助DB处理类来实现,对应的处理流程如下:

1) 编写连接方法,实现结构集的构建;

2) 对收集检索结果列表进行相应的命名,并完成SQL语句的无误编纂工作,而后将无误的SQL语句传输至数据库中运行,为避免对运行造成干扰,需要断开有关接口和结果集的连接;

3) 回到对应的页面窗口。

音乐数据库操作模块的实现主要是通过如下代码:

Connection con=getConnection();

Statement st=null;

ResultSet rs=null;

Listlstr=new ArrayList< string[] >();

Try{

st=con.createStatement();

String sql="select SongName,SingerName,Album,Lyric,FileName from Song where singerName =""+ info+""or SongName=""+info+""or Album=""+ info+"";";

rs=st.executeQuery(sql);

while(rs.next()){

String[] str=new String[5];

for(int i=0;i<5;i++){

str[i]=rs.getString(i+l);

System.out.println(i+"== "+str[i]);}

lstr.add(str)

}catch(Exception e){…}

2.2.3  曲目推荐

在本文研究的系统中,曲目推荐功能是在物品和用户结合的推荐算法基础上实现的。该算法需要通过3个步骤来完成曲目推荐列表的生成工作。

1) 通过服务器端完成用户兴趣数据的接收与处理,获取用户曲目矩阵;

2) 借助用户和物品对应的协同过滤算法,完成用户对物品的热衷度计算;

3) 线性加权处理步骤2)中的两种协同过滤算法,以得到联合推荐算法,并借助该算法进行相应的计算工作,对计算得到的结果进行相应的排序,进而得到曲目推荐列表。通过如下代码实现:

for(int i=0;i

Joint_int[i]=a*U ser_int[i]+(1?a)*Item_int[i];

Arrays.sort(Joint_int);

2.3  移动客户端实现

移动客户端主要实现的功能有:用户登录与注册;音乐的缓存和下载;本地音乐的获取和播放;播放行为记录;音乐可视化。

其中,用户播放行为记录功能实现的前提是用户在该移动播放系统中登录。不同界面窗口可将不同的功能表现出来,通过移动端客户端的主界面就能实现本地音乐的获取与播放。通过加入歌单界面、音乐评分界面等可完成音乐的播放与记录。通过曲目推荐界面可完成音乐的可视化操作,在此基础上,用户可对网络音乐进行缓存和下载。

在移动客户端主界面窗口中,可通过跳转界面的方式来满足用户不同的功能需要。如用户在点击音乐播放界面窗口后,用户播放行为和音乐播放的两大功能将得以实现,用户根据自身需要和喜好,点击不同的按键可转入所需的界面,从而表现出用户不同的行为。点击加入歌单界面窗口后,用户可根据自身喜好在歌单列表中添加或删减歌曲,需要时,还可选择收藏按键,完成歌曲的收藏操作,进而保存至服务器端数据库中。点击“我喜欢”界面窗口后,用户可根据自身需要对歌曲进行标注,标注后的歌曲会自动添加到喜欢的列表中,便于用户后续的查询与播放。进入音乐分享界面可实现音乐的共享功能。点击“分享”按键可将正在播放的歌曲通过微信、QQ等通信方式分享给他人,分享后的歌曲保存到服务端数据库中。打开推荐界面可实现歌单推荐功能,同样可通过通信软件向好友推荐动人的歌曲,与之分享。此外,列表中会向用户推荐六类可能喜欢的曲目,供用户选择,若用户都不喜欢还可点击“换一批”按键对当前推荐的曲目进行更换。

3  结  语

综上所述,本文主要从三方面入手展开设计与实现,包括PC管理端、移动客户端以及服务器端。其中,对PC管理端而言,不仅实现了对于PC端软件的管理,还实现了管理员登录功能和各方面的管理功能,如对歌手、歌曲、专辑的信息管理等。对移动客户端而言,移动音乐播放软件的实现是一方面,另一方面还实现了用户各方面的权限,主要包括网络音乐的下载和缓存、用户账号的登录和注册以及本地音乐的播放和获得。而对服务器端而言,不仅实现了服务器端软件下载,而且還实现了音乐数据库的控制、曲目推荐以及音乐数据的接发功能等。通过该研究,不但为安卓音乐播放软件的普及提供了正向推动力,而且也迎合了5G推广的浪潮。

参考文献

[1] 张馨元.基于Android的音乐图片播放系统的设计与实现[J].科技视界,2019(1):217?219.

[2] 王咏梅.基于Android平台的音乐播放软件的设计与开发[J].电脑知识与技术,2018,14(30):82?83.

[3] 苗静,杨帆,潘国峰.嵌入式智能音乐播放系统的设计与实现[J].声学技术,2017,36(4):357?362.

[4] 余森林,唐旻圆.基于要素特点和需求分析的音乐识别软件服务设计研究[J].设计,2018(20):131?133.

[5] 李卓远,曾丹,张之江.基于协同过滤和音乐情绪的音乐推荐系统研究[J].工业控制计算机,2018,31(7):127?128.

[6] 卢宏伟.基于Android平台的在线播放器设计与实现[J].电脑知识与技术,2011,7(19):4591?4593.

[7] 刘佳.基于ASP技术的音乐播放系统设计与研究[J].电子设计工程,2018,26(15):19?22.

[8] 张小琴,张庚.基于Android平台的音乐播放器设计与实现[J].软件,2018,39(9):113?116.

[9] 刘瑾.基于Android平台的音乐播放器的实现[J].数字技术与应用,2018,36(8):156.

[10] 吴清福,涂淑珍,马奕.Web端音乐播放器的设计与实现[J].福建电脑,2018,34(2):56?57.

猜你喜欢

功能设计系统设计智能手机
智能手机是座矿
假如我是一部智能手机
基于ASP.NET的贵安大学城二手物品交易网站的设计与实现
微信微网站典型功能设计与性能保障研究
一种基于SATA硬盘阵列的数据存储与控制系统设计研究
医学类课程题库管理与组卷系统需求分析及功能设计
目标特性测量雷达平台建设构想
电力营销系统功能分析
智能手机如何让我们变得低能
智能手机