基于微信小程序的个人电台开发.docx
《基于微信小程序的个人电台开发.docx》由会员分享,可在线阅读,更多相关《基于微信小程序的个人电台开发.docx(24页珍藏版)》请在冰豆网上搜索。
![基于微信小程序的个人电台开发.docx](https://file1.bdocx.com/fileroot1/2023-2/24/7085d3a5-9084-4c23-ac0f-a061bb7d0c3b/7085d3a5-9084-4c23-ac0f-a061bb7d0c3b1.gif)
基于微信小程序的个人电台开发
毕业设计(论文)
题目基于微信小程序的个人电台设计
院系班级
学生姓名学号
指导老师
(1)职称
指导老师
(2)职称
答辩委员会主任主答辩人
二零一九年月
基于微信小程序的个人电台设计
摘要:
在这个娱乐至上的时代,人们对于媒体娱乐的需求越来越大,从原来的报纸传播,到广播传播,在到电视传播,在这个信息时代,网络传播因为其范围广、即时性高、接收便利成为了主流的媒体传播方式。
随着近几年信息技术的进展,直播平台越来越火爆,越来越多的人选择成为一个主播,传统的公众媒体正在向自媒体转变。
与传统的广播电台相比较,个人电台门槛低,地点灵活,投资少,可以满足个人成为主播的需求。
本文主要讲述基于微信小程序的个人电台设计,在微信拥有广泛受众群体的基础上,加入电台功能,让每个人都能通过电台进行表演,让每个人都能通过电台收听主播。
关键词:
微信小程序,个人电台,软件开发
DesignofPersonalRadioBasedonWechatProgram
Abstract:
Inthiseraofentertainmentsupremacy,people'sdemandformediaentertainmentisgrowing,fromtheoriginalnewspapercommunication,radiocommunication,totelevisioncommunication.Inthisinformationage,networkcommunicationhasbecomethemainstreammediacommunicationmodebecauseofitswiderange,highinstantaneityandconvenientreception.Withthedevelopmentofinformationtechnologyinrecentyears,livebroadcastingplatformisbecomingmoreandmorepopular.Moreandmorepeoplechoosetobecomeahost.Traditionalpublicmediaischangingtoself-media.
Comparedwithtraditionalbroadcastingstations,personalradiostationshavelowthreshold,flexiblelocationandlessinvestment,whichcanmeettheneedsofindividualbroadcasters.ThispapermainlydescribesthedesignofpersonalradiobasedonWechatwidgetprogram.OnthebasisofWechathavingawideaudience,weaddradiofunctions,sothateveryonecanperformthroughtheradio,sothateveryonecanlistentothehostthroughtheradio.
Keywords:
WechatProgram,PersonalRadio,SoftwareDevelopment
第一章绪论1
1.1.项目背景和意义1
1.2.国内外的发展现状1
第二章相关理论和技术分析2
2.1.微信小程序2
2.1.1微信小程序开发环境2
2.1.2微信小程序框架3
2.1.3微信小程序api4
2.2.SSHE框架5
2.2.1框架介绍5
2.2.2框架构成与分层5
第三章需求分析与设计6
3.1.需求分析6
3.1.1可行性分析6
3.1.2系统用户角色设计7
3.1.3系统功能需求分析9
3.1.4系统性能分析11
3.2.系统总体设计12
3.2.1系统物理设计13
3.2.2系统分层设计13
3.2.3系统数据流图设计14
3.3系统数据库E-R设计16
3.4系统接口设计17
3.5系统界面设计17
1.一级界面18
2.二级界面18
3.三级界面18
结论19
致谢20
参考文献21
第一章绪论
1.1.项目背景和意义
人类社会初期就出现了媒体这个概念,通过媒体人们猎取所需要的信息。
媒体的传播大致经历了以下几个阶段:
口耳相传,报纸,广播,电视。
随着人类科技的不断提高,新媒体以互联网技术为载体,传播更加快捷便利,受众范围也越来越广。
新媒体的形式多种多样,有电子新闻,微信公众号,微博,还有进行实时互动的直播平台。
信息传播的效率越来越高,即时性越来越好,以报纸电视为核心的媒体传播有了很大的改善。
其中广播也融入了新媒体时代,主要的广播手段有两类,官方搭建的广播站,用户可以调节收音机设备来接收广播站,但是现在收音机设备已经逐渐被大众所淘汰,大部分是车载广播。
第二种是用户自己在网站上建立的个人广播,比如私人电台,但是这种广播受众小,不易让大众所知,且做主播的门槛较高。
结合目前广播的现状,本文提出了基于微信小程序的个人电台的设计。
通过小程序里的个人电台,每个人可以很便利的在主播与收听者之间进行角色切换,与直播平台类似,不需要特地的频段,不需要固定的地点,每个人都能做电台主播,并且加入好友系统和回听功能,无论何时都能收听主播以往的电台内容。
并且本电台设计是基于微信小程序,有着庞大的用户群体,可以实现播放、录制、收听一系列功能,电台好友功能与微信好友可以进行联络,提高电台的互动性。
为了让编程更简洁,本电台采纳SSHE分层架构。
1.2.国内外的进展现状
让小程序最先流行起来的是淘宝和支付宝,通过APP上面各种各样的小程序,用户可以进行充值花费、购买电影票、骑共享单车、定外卖等操作,极大增加APP功能,节省手机空间的占用。
微信小程序是由工作室或个人编写好一个微信小程序再进行公布,用户可以通过搜索来使用自己想要的小程序,虽然和淘宝支付宝小程序类型不太一样,但是小程序都有一个共同的优点,程序小不用治理。
微信小程序类似一个云端U盘,当需要的时候进行找出小程序,不需要的时候就寄存在云端,完全不占用用户手机系统。
程序实现互动的类型有商品与用户的互动(B2C格式),如电子商务;用户与用户的互动(P2P格式),如当下各种社交软件;微信的互动模式在B2C格式的基础上将商品变为服务类型,与用户进行互动,即C2P格式。
微信小程序采纳PHP开发,与一般的手机APP相比,借助于微信可以跨平台使用的功能,微信小程序也可以进行跨平台使用,不用针对不同的平台开发不同的程序。
和H5开发模式相比,PHP稳定性更好,所以微信小程序有着辽阔的进展空间。
为了解决传统广播需要特地频段,接收的设备也比较繁琐的缺点,出现了猫扑这类的网络电台,但是由于需要通过计算机进行接收,本质上与收音机接收都具有很大的设备局限性。
12年之后,出现了大量的个人电台,比如酷狗音乐,网易云音乐,M站等,通过智能手机为载体,迅速在人群中流行。
但是手机APP数量越来越多,体积也越来越大,且缺少电台主播与听众间的社交性。
分析国内外广播的进展现状,为了解决收音频段,接收设备,占用系统资源等一系列问题,基于微信小程序开发个人电台就有很大的进展前景了。
第二章相关理论和技术分析
2.1.微信小程序
2.1.1微信小程序开发环境
在进行小程序开发使,要进入专门的开发网站,申请小程序开发账号。
本设计是个人程序,在网站里进行主体认证,提交小程序图标、名字等信息,并填写开发者信息,个人电台需要选择图片音频视频类的程序开发选项,并绑定开发者微信号,之后可以获得一个专门的APPID。
在小程序申请阶段完成后,下载开发者工具,通过开发者微信号进行登录,创建项目,输入申请时填写的名称、APPID,创建开发目录。
将小程序的代码全部编写好后,就可以上传自己的微信小程序,需要填写小程序的版本号,并选择文件的存储位置。
微信小程序上传后填写小程序的标签、名字进行审核。
2.1.2微信小程序框架
微信小程序利用MVC的开发思想进行框架搭建,包括规律、基础、视图等层次。
小程序根目录下面一定要存放小程序规律实现程序(app.js),小程序公共设置程序(app.json),公共样式表程序(app.wxss)这三个程序。
小程序的每个界面又是由四个文件构成,页面规律文件(js),页面结构文件(wxml),页面配置文件(json),页面样式文件(wxss),开发者可以自己定义界面的名称。
在小程序根目录的json文件,可以对系统进行全方面的设置,主要包括五个方面:
对页面路径进行设置(page属性),对窗口表现进行设置(windows属性),对网络超时时间进行配置(networkTimeout属性),对底部tab表现进行设置(tabbar属性),对debug模式进行设置(debug属性)。
本次音乐电台小程序的规律层,采纳javascript语句来编写,规律层的主要功能是实现和视图层的信息传递,规律层将处理好的数据发到视图层,然后视图层按照处理完的数据进行指令反馈。
规律层中APP函数用来对程序进行注册,getAPP函数可以猎取微信小程序实例。
而在Page函数的注册界面,每一个界面的时间都由对应的函数来设定。
Onready对界面进行第一次渲染,onshow显示界面,onhide隐蔽界面,onload监管界面,onunload可以卸载界面。
对wxml文件和wxs文件编写的工作是在视图层上进行的。
Wxml文件主要功能是对小程序产生的数据进行绑定,对列表进行渲染,对小程序各功能模块进行设定,设置事件处理函数。
Wxs文件是一种特别的模块,可以在模块里进行代码的编写,配置变量。
微信小程序中的基础库可以对程序编写提供很多便利,但是基础库是针对不同的系统版本提供不同的基础库,且高版本基础库无法兼容低版本基础库。
2.1.3微信小程序api
由于个人电台微信小程序需要实现各种各样的功能,就需要借助微信上各种应用程序接口(api)来进行小程序的开发。
1.网络恳求
可以通过wx的request接口来进行网络恳求。
使用该接口时,需要填写相关信息,包括服务器接口的地址,网络恳求的参数设定,恳求的类型是get还是post等等,并且对json设定相关配置,编写对恳求成功或者失败的情况进行处理的回调函数。
2.文件的上传与下载
通过wx.uploadfile和wx.downloadfile接口来实现上传文件或者下载文件。
在进行文件上传时,需要选择服务器地址,上传的文件的名称和系统路径,在进行文件下载时需要对下载资源的地址,恳求header之类的参数进行设置。
3.录音
为了能够顺利搜集主播的声音并实现电台的回播功能,需要小程序支持录音功能,录音功能需要使用wx.startRecord和wx.stopRecord这两个接口。
4.背景音乐治理
在主播进行直播时需要设置背景音乐来进行氛围调节,所以需要借助微信小程序里getBackgroundAudioManager功能,对背景音乐的长度,名字,链接的原网页,歌手信息等信息进行属性设置。
5.微信红包
直播平台需要有打赏功能来对主播的直播内容表示肯定,提高主播的积极性,所以个人电台小程序就需要通过微信钱包来进行支付等操作。
通过requestPayment接口来实现微信支付的操作,通过getUserInfo来读取用户的相关信息,通过authorize接口来猎取微信的授权,还需要开发者文档里各种界面控件的接口来辅助实现。
2.2.SSHE框架
SSHE框架是一个大型整体的框架,是通过好几个框架来整合重组形成的新框架。
SSHE框架里主要是由Spring,Struts和Hibernate这三个主要的框架构成的。
2.2.1框架介绍
Spring框架分为七个模块,具有轻量级控制反转(LoC)和面向切面(AOP)的特点。
Struts框架是通过采纳JSP技术,实现了mvc的框架。
Struts包含三个层面,分别是model,view以及control。
model层面,包括Action以及Actionform两个概念子系统。
View层包括Strutstaglib以及jsp两个标准。
控制层包括ActionServlet。
Hibernate框架主要用来实现系统持久层。
其主要由Session、Sessionfactory,configuration、transaction、query构成。
Hibernate的基本执行流程是通过configuration的configure函数进行读取并解析Hibernate的cfg的xml文件,并由这个配置文件中的mapping属性等读取映射消息。
还会通过config的buildSessionFactory进行SessionFactory的创建。
创建后,会通过openSession文件打开Session,并调用该句柄的beginTranscation函数进行事物的处理。
结束后调用commit函数进行事物的提交。
提交结束后,关闭相应的Session及Session制造工场。
2.2.2框架构成与分层
SSHE完善展示了mvc的理念。
SSHE框架将小程序的系统分成了三层,从下往上依次是数据持久层,业务规律层,表示层。
其中Struts是对系统的mvc进行分离,并控制业务的跳转。
Hibernate进行持久层的支持。
而Spring属于Struts与Hibernate中的润滑剂,让二者更简单配合。
表示层通过Struts提供的jsp页面进行界面交互,并根据配置文件进行Action的处理,这个Action是通过ActionServlet接受的request进行委派的。
业务层,是通过使用Spring提供的IOC容器以及Model组件共同完成对于数据处理组件的处理。
持久层主要是通过Hibernate实现的。
Hibernate将model与数据库中的表象相互映射,同时处理DAO组件发送来的恳求,并返回结果。
第三章需求分析与设计
3.1.需求分析
需求分析是构建微信小程序瀑布模型的出发点。
需求分析就是将小程序黑盒带白核逐渐改变的过程。
要开发一个微信小程序,第一步就是进行需求分析,分析这个小程序有没有开发的价值和开发出来后的意义,然后要对小程序能不能设计成功进行分析。
开发者在进行小程序需求分析时,要充分考虑每一个能考虑的地方,包括小程序要包含什么功能以及怎么实现这些功能,以及小程序开发出来的运行性能怎么样。
小程序开发前的需求分析就相当于军队作战前的战略规划,只有充分规划到每一个细节,才能打出一场美丽的胜仗。
通常开发者可以使用面向问题域的分析方法,面向对象的分析方法,结构化的分析方法这三种方法来进行需求分析。
在进行个人电台小程序的开发中,选择结构化的分析方法,将所需要的功能分为各种小模块,能够有条理的划分功能的范围和规律;在个人电台设计中,采纳UML方法来对小程序的一些功能、内置数据库进行进行建模。
在对功能进行开发时,本次小程序设计采纳了前后台模块分类方法。
3.1.1可行性分析
1.经济可行性
由于传统的广播电台只能在广播站规定的时间内放送规定的内容,所以用户就不能按照自己的时间来选择自己感兴趣的电台频道,严峻限制了用户使用量,观看人数减少,广告的投放也会跟着减少,从而电台的经济效益就会降低。
本微信小程序加入了节目回放的功能,即使时间上有偏差,用户仍能收听到自己错过的电台内容,每个电台时间都能在之后反复利用,可以增加用户的收听人数,从而能给主播和平台带来不少的收益。
平台融合了现在直播平台的功能,用户可以通过微信钱包对主播进行打赏,也能为主播和电台带来收入。
并且微信小程序搭载在微信上,不需要再去购买单独又贵的软件,所有开发信息都是开源的,开发者只需要在微信小程序注册授权和阿里云服务器的搭建时投入少量资金。
所有个人电台微信小程序经济性很高,低投入,高回报。
2.技术可行性
小程序在开发时以瀑布模型为开发流程,采纳UML技术进行需求分析,其中包括数据流图、E-R图、用例图等等。
为了便于开发,小程序的网络接口采纳apiview供给记录系统的接口。
在进行电台前台的开发时,使用PHP语言和进行微信小程序开发时的工具箱,对后台进行开发时,利用分层技术,采纳SSHE框架。
尽管微信小程序才刚刚出了没几年,属于新兴行业,但是在进行小程序设计时,微信提供了非常全面的开发文档供开发者参考,其他所需要的技术网上可以找到许多差不多的代码,非常成熟。
所以在进行个人电台微信小程序设计时,技术上是可行的。
3.操作可行性
在进行个人电台设计时,操作界面可以模仿时下流行的APP。
通过手机授权使用手机自带的麦克风功能进行音频的录制,通过微信扫一扫和微信钱包,来实现电台里互加好友、对主播的打赏的功能,通过微信直接搜索小程序就能直接使用,不需要通过各种应用市场进行APP下载,可以让用户有更快捷更便利的使用体验。
对电台后台进行操作时,通过精心设计的治理界面,各项功能排列清楚,省去繁琐的操作。
所以,个人电台微信小程序具有操作可行性。
3.1.2系统用户角色设计
在对小程序的用户角色进行设计时,需要考虑不同的使用者,不同的需求,来对小程序的功能进行设计。
个人电台小程序的使用者可以划分成两类,平常用户和程序治理员。
平常用户从移动端使用个人电台,并运行里边的各项功能,程序治理员从后端对程序的各种数据进行治理。
由于小程序搭载在微信平台上,所以只要得到微信的授权就可以登录小程序进行使用,不需要单独登录电台,平常用户需要的功能大体如下:
·扫瞄广播节目,这里的广播节目包括两种,用户查看当前正在进行的广播,用户查看好友的广播。
·电台信息查看,电台信息查看主要查看电台的简介、主播的个人资料、主播开播时间,并进行节目搜索,节目搜索又有通过电台类别搜索,通过电台名字搜索。
·添加好友,可以从微信的好友列表、输入对方昵称、进入对方的个人主页进行添加好友操作。
·收听广播,在收听之余能够对电台主播进行打赏和留言。
·录制广播,在进行录制时需要能够自己选择背景音乐。
·广播回放。
个人电台小程序平常用户功能图如图3-1
图3-1个人电台小程序平常用户功能图
小程序的后台治理者,需要的功能主要是治理小程序的各种数据。
主要治理平常用户的行为,主播直播的内容,可以支持的BGM,电台首页界面、操作日志等。
主要实现的功能图如图3-2.
图3-2个人电台小程序治理员功能图
3.1.3系统功能需求分析
电台小程序在功能上要满足上面两种角色的需求,即在前台用户能够随时随地可以收听电台广播的听众需求,主播能通过小程序随时随地进行直播的治理员需求,这两种功能需求是系统功能需求的总业务需求。
1.收听者功能需求
(1)电台的筛选
电台用户在电台主界面有两种方法进行电台的查看,查看主界面上的热门电台,查看好友电台。
通过主界面上热门电台的展示,可以很直观很快捷的找到当前最受听众欢迎的主播,通过好友电台界面,可以查看好友的电台记录,或者当前正在进行直播,或是以前记录保存下的历史直播记录。
除了两种查看电台的功能,如果事先知道主播昵称,或者主播的房间号,可以通过搜索栏精确搜索,如果没有很强的目的性,可以通过标签进行模糊搜索,在自己感兴趣的栏目下收听。
这几种电台查看方式,结果都是由电台主播预先设置的图片、电台名称、主播昵称来进行显示。
(2)节目的收听
选择自己感兴趣的电台后,在直播状态下,听众可以根据自己的需求,通过手机的音量键或者节目下面的喇叭图标调节声音大小,如果主播是自己喜爱的类型,可以点击主播头像来关注该主播,以后主播在直播时可以发消息提醒,如果对主播不感兴趣,按下返回键可以回到电台主界面,选择其他电台。
(3)回放
如果搜索电台,该主播临时不在直播,可以进入主播的个人页面,收听主播上传的往期节目。
(4)直播
对比主流的直播APP软件,本次设计的个人电台微信小程序的优势就是直播门槛低。
只要在直播节目自己创办一个自己的电台,为自己的电台去个名字和电台内容的简介,提取直播内容的关键标签,可以让其他用户搜索到自己的电台。
在拥有自己的电台后,用户可以录制自己的节目,在此过程中,用户通过小程序自带的BGM库或者自己的本地音乐库选择自己想要的BGM,节目录制完毕后,可以选择上传到个人主页,让其他人可以搜索看到,或者保存到本地自己观赏或进行后期加工。
(5)评论
由于个人电台没有直播画面,仅仅是音频的传播,所以可以在电台下面设置评论栏来代替直播平台的弹幕功能,评论栏可以实时发送和主播进行互动,也可以回放收听节目时表达自己的看法。
(6)关注系统
个人电台也包括社交元素,通过电台里的好友列表可以选择好友进行关注,或者通过主界面的搜索栏搜索自己感兴趣的主播进行关注,关注列表的人如果开始直播,小程序会第一时间提醒用户,便利准时收听。
2.治理员功能需求
(1)用户治理
用于电台面对用户群数量众多,难免会有许多非法进行操作的用户,比如进行直播时包含色情、暴力等不和谐因素,非法窃取其他用户的个人信息,评论栏中语言恶劣,对于有这些行为的用户准时进行治理,限制这些用户某些功能的使用,或者直接封号处理,而对于直播内容积极向上粉丝、观众人数较多的用户,可以将他们的直播电台放在首页,让更多人可以进行收听。
(2)电台治理
除了对用户进行治理之外,一个用户可以拥有多个电台,视情况可以仅惩罚操作不规范的电台,或是封禁期间进行节目内容整改,或者永久删除电台,电台里的往期节目也会一并删除,而用户其他的电台不受影响,仍然可以被其他用户通过个人主页,搜索栏搜索来查看,当用户被封号后,用户栏下所有的电台也一并删除。
(3)背景音乐治理
为了迎合不同主播的需要,可以对小程序内置BGM库进行BGM的添加和删除,准时添加时下热门的音乐,并删除冷门的音乐减少数据库的使用。
(4)节目治理
对于一个电台旗下如果有一期的节目不符合直播要求,可以进行删除操作,有权限查看并治理主播所有电台和电台下的所有节目。
(5)评论治理
为了营造一个开放和谐的评论区,治理员需要对不恰当评论准时进行查看并删除,但是治理员不可直接更改用户的评论。
3.1.4系统性能分析
在进行微信小程序的设计时,需求分析不仅仅是对小程序的功能需求进行分析,还要对小程序的性能进行需求分析。
因为功能分析只是为了最终的使用,但是如果小程序的性能不够好,就可能会在运行过程中导致小程序的崩溃,影响小程序的正常使用。
系统的功能需求分析和性能需求分析两者有着密不可分的关系,小程序强劲的性能能更流利的实现各种功能,而小程序功能设计的科学性又影响着性能的实现。
在小程序设计时,需要考虑的性能需求如下:
(1)可靠性能分析
个人电台小程序在使用时会有许多实时性的互动,并且涉及金钱的交易,由于搭载在微信上,小程序的崩溃也会导致微信的崩溃,可能引发许多不可知的错误,从而会让用户的使用