一种基于安卓系统的可拓展性高的音乐播放系统的制作方法

文档序号:28378343发布日期:2022-01-07 22:28阅读:128来源:国知局
一种基于安卓系统的可拓展性高的音乐播放系统的制作方法

1.本发明涉及音乐播放技术领域,特别是涉及一种基于安卓系统的可拓展性高的音乐播放系统。


背景技术:

2.当前因为音乐版权等原因,音乐资源受限,很多音乐播放类app都会集成多家不同公司的音乐资源,采用sdk或者网页等方式接入,例如喜马拉雅,qq音乐等。另外还会集成手机的本地音乐,集成国內、国外电台等音乐资源。
3.在ui设计上为了让用户有统一的体验,界面中各类不同平台的音乐资源的展示内容是一致的,如展示音乐名称,歌手,专辑,专辑图片等。众多的音乐资源由于接入的方式不同,需采用不同的控制方式以获取音乐的各种信息并控制播放音乐,这使得处理过程变得十分复杂。
4.因此,亟需一种基于安卓系统的可拓展性高的音乐播放系统,能够解决现有音乐播放器类app由于不同音乐平台的音乐资源信息获取方式及控制方式不同导致的接入工作量大、处理复杂、可移植扩展性差的问题。


技术实现要素:

5.本发明的目的是提供一种基于安卓系统的可拓展性高的音乐播放系统,以解决上述现有音乐播放器类app由于不同音乐平台的音乐资源信息获取方式及控制方式不同导致的接入工作量大、处理复杂、可移植扩展性差的问题。
6.为实现上述目的,本发明提供了如下方案:
7.本发明提供一种基于安卓系统的可拓展性高的音乐播放系统,包括ui展示模块,用于展示播放的音乐信息并接收用户的输入;
8.音乐平台播放控制模块,用于将不同的平台分别实现相同的播放控制接口;
9.音乐播放代理模块,用于ui展示模块和音乐平台播放控制模块之间的信息转发。
10.优选地,所述ui展示模块与所述音乐播放代理模块之间设有回调接口。
11.优选地,所述音乐播放代理模块与所述音乐平台播放控制模块之间设有回调接口。
12.本发明相对于现有技术取得了以下有益技术效果:
13.本发明提供的一种基于安卓系统的可拓展性高的音乐播放系统,包括ui展示模块,用于展示播放的音乐信息并接收用户的输入;音乐平台播放控制模块,用于将不同的平台分别实现相同的播放控制接口;音乐播放代理模块,用于ui展示模块和音乐平台播放控制模块之间的信息转发;降低整体的耦合度和处理的复杂度,可拓展性强,可快速接入、移除不同的音乐平台,提高了开发效率,减少了维护成本。
附图说明
14.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
15.图1为本发明提供的一种基于安卓系统的可拓展性高的音乐播放系统结构示意图;
16.图中:1:ui展示模块、2:音乐平台播放控制模块、3:音乐播放代理模块。
具体实施方式
17.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
18.本发明的目的是提供一种基于安卓系统的可拓展性高的音乐播放系统,以解决现有音乐播放器类app由于不同音乐平台的音乐资源信息获取方式及控制方式不同导致的接入工作量大、处理复杂、可移植扩展性差的问题。
19.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
20.实施例1:
21.本实施例提供一种基于安卓系统的可拓展性高的音乐播放系统,如图1所示,包括ui展示模块1、音乐平台播放控制模块2和音乐播放代理模块3,所述ui展示模块1与所述音乐播放代理模块3之间设有回调接口,所述音乐播放代理模块3与所述音乐平台播放控制模块2之间设有回调接口。
22.其中,ui展示模块用于展示播放的音乐信息,如当前正在播放的歌曲名称,专辑名称,专辑封面,歌手名称,等。播放状态,如加载中,播放中,暂停,当前播放进度,总时长等。同时接收用户的输入,如推送播放列表,播放,暂停,上下首,快进,快退等。
23.音乐播放,需要用户首先从界面上展示的音乐列表中,选择某一首歌曲播放。用户切换播放列表时,ui展示模块通知音乐播放代理模块切换到对应的音乐平台。如用户选择切换到本地音乐的播放列表时,ui展示模块通知音乐播放代理模块切换到本地音乐播放平台,后续ui展示模块用户的操作,如播放,暂停,上下首,均是对应的操作本地音乐播放平台。如用户选择切换到qq音乐的播放列表时,ui展示模块通知音乐播放代理模块切换到qq音乐播放平台,后续ui展示模块用户的操作,如播放,暂停,上下首,均是对应的操作qq音乐播放平台。
24.ui展示模块调用音乐播放代理模块的接口方法是统一的,不用关心当前是操作的是哪个音乐平台。如用户点击了暂停按钮,ui展示模块调用音乐播放代理模块提供的暂停方法,由音乐播放代理模块去控制指令需要转发到哪个音乐平台处理。
25.ui展示模块设定回调接口到音乐播放代理模块,当有音乐播放信息变化时,音乐播放代理模块会通知ui展示模块更新界面。如当前歌曲播放结束,音乐播放平台切换到播
放列表的下一首歌曲播放,音乐播放代理模块会通过统一的接口回调将当前歌曲播放完成,下一首的歌曲名称,时长,下一首歌曲播放加载中,下一首歌曲播放开始等信息上报到ui展示模块。ui展示模块更新音乐播放代理模块回调上报的信息,不关心当前是哪个音乐平台上报的信息。
26.音乐播放代理模块负责ui展示模块和音乐平台播放控制模块的信息转发。
27.音乐播放代理模块用musicplatformdelegate类表示,实现了musicplatforminterface接口,向ui展示模块提供了统一的接口方法,用于播放控制和音乐信息的获取。
28.同时提供了统一的回调接口,将音乐平台播放控制模块的主动上报的信息,转发到ui展示模块。
29.当ui展示模块通知音乐播放代理模块切换到指定音乐平台时,音乐播放代理模块会指向指定的音乐平台,设置回调监听到音乐平台,以接收音乐平台的上报数据。之前音乐播放代理模块指向的音乐平台,将移除回调监听,通知其销毁,以节省内存占用。
30.musicplatformdelegate类中持有变量musicplatform(类型为musicplatforminterface)用于指向不同的音乐平台。不同的音乐平台均必须实现musicplatforminterface接口,变量musicplatform才能指向它们。因此musicplatformdelegate类可以通过musicplatform很简单的进行转发,无需做其他的条件判断。如
31.public void startmusic(){
32.musicplatform.startmusic();
33.}
34.musicplatformdelegate类中持有变量musicstatuscallback存储ui展示模块设置到音乐播放代理模块的回调监听。musicplatformdelegate类中持有变量musicstatusinterface将设置给音乐平台播放控制模块。musicstatusinterface接收到的音乐平台播放控制模块上报的信息,将通过musicstatuscallback上报到ui展示模块。
35.音乐平台播放控制模块用于将不同的平台分别实现相同的播放控制接口。
36.不同音乐平台都实现musicplatforminterface接口,使得音乐播放代理模块可以统一的进行简单的转发处理。如qqplatform类代表qq音乐平台的播放控制层,localplatform类的本地音乐的播放控制层,均实现musicplatforminterface接口,音乐播放代理模块的musicplatform变量均可以指向它们,快速,简洁的实现不同音乐平台的切换。
37.音乐平台播放控制模块的类中持有变量musicstatusinterface,通过musicstatusinterface将信息上报到音乐播放代理模块。
38.音乐平台播放控制模块主要是具体的业务实现,如ui展示模块用户选择了本地音乐平台的音乐列表播放,localplatform类将保存当前的播放列表,播放索引,创建播放器,加载指定的音乐进行播放,当当前音乐播放完毕,切换到下一首歌曲播放。通过musicstatusinterface将播放状态,歌曲信息及时上报到音乐播放代理模块。
39.当需要添加一个新的音乐平台时,只需要实现musicplatforminterface接口,音乐播放代理模块只需要增加一个指向它的方法即可,ui展示模块无需改动。
40.当需要移除一个已集成的音乐平台时,只需要将该平台播放控制层删除,音乐播放代理模块只需要移除指向它的方法即可,ui展示模块无需改动。
41.本发明应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1