音乐资源播放器论文

2024-06-17

音乐资源播放器论文(共12篇)

音乐资源播放器论文 篇1

1 应用概述

对于智能手机,总不可以缺少音乐。不仅如此,随着3G网络的普及和城市Wi-Fi网络的覆盖,手机获取音乐的途径也逐渐从本地存储卡过渡到“空中”。而这种从“空中”获取音乐资源的模式实际上是在已有业务框架(B/S)上的扩展,新增了从无线网络到互联网的连接,其业务框架如图1所示。

在桌面应用中,其播放功能使用的是本地媒体库或包装成的播放器组件,其播放模式有两种:直接播放本地文件(下载后播放也属于此类)和以流媒体的方式播放网络资源。在第一种模式下,需要连接本地存储设备并设置媒体文件的存放路径;在第二种模式下,需要连接到互联网中音乐资源服务器,因此还需配置服务器主机和服务端口等信息。

对于Android手机应用,其播放资源也分为两种:本机存储设备上的音乐资源(主要包括:通过数据线拷贝过来或从网络下载的)和网络资源(通过3G网络或Wi-Fi网络连接到互联网进行获取)。

文中将以Android实机(Android 2.3.6)为验证环境,完整地介绍一款音乐资源播放器(如图2所示)的开发过程,希望能对Android开发者起到参考作用。

2 功能分析

2.1 关键功能及相关技术

通过前文对手机音乐资源播放器应用的介绍,相信读者应该可以对该类应用的功能有所了解;笔者结合自己对该类应用的研究,整理出手机音乐资源播放器的主要功能如下。

2.1.1 音乐播放控制

该功能即对音乐资源进行启动、暂停、停止、切换、定位等播放控制。其核心组件是音乐播放器,开发者一般只需调用其功能接口。Android平台中的类“Media Player”提供了媒体资源的播放控制,同时还提供了部分回调接口(侦听器)用于侦听播放状态。

作为音乐播放器,往往需要具备后台播放功能。在Android平台中,后台任务的执行须使用服务(Service)框架。不仅如此,用户界面(Activity组件)还需与后台服务进行交互。在Android平台,Activity组件与后台服务的交互可以采用连接或非连接的(广播)方式。

(1)连接方式,即Activity组件先建立与服务组件的连接(Service Connection),然后在该连接的回调函数中,通过调用服务接口(Interface)来实现与服务的交互。该交互方式中,Activity是主动方,服务组件是被动方,后台服务的状态都需要Activity调用服务接口来获取,服务组件的状态不能主动推送给Activity组件。

(2)广播方式,即在Activity组件和服务组件中各注册广播接收器(Broadcast Receiver),然后在各组件中通过发送/接收广播的方式进行交互。该交互方式中,双方都是主动的,后台服务的状态可以主动地推送给Activity组件。

相比之下,第(2)种方式的交互更为灵活,本示例中采用第(2)种方式。

此外,对于手机平台,还需考虑对电话状态的监听,如果播放音乐过程中有电话呼入,则需要先暂停播放,待通话结束后再重启播放。对于电话状态的监听,Android平台提供了电话系统管理器(Telephony Manager),使用其API可侦听手机的电话状态。

不仅如此,还要考虑对应用程序的唤醒(即快速呈现程序界面),该功能一般采用Android平台的通知(Notification)机制,可以快速地从系统状态栏调出应用程序。

2.1.2 音乐资源管理

对音乐资源的管理主要包括:获取本机和网络音乐资源信息、本地音乐资源管理、下载网络资源。本地音乐资源信息的获取和管理可以通过文件系统的API来实现,而网络音乐资源信息则需要通过调用服务端的信息接口,通过信息接口,移动客户端才可以获取网络音乐资源的“路径”信息(URL)。这些音乐资源信息是基础数据,本地音乐资源的管理和网络音乐资源的下载都将基于这些数据。按照MVC的设计原则,Android平台提供了列表视图(List View)和对应的适配器(Adapter)来用于数据管理和展示控制。而开发者要做的是定义音乐资源数据项和对应的适配器。

在本开发案例中,服务端采用J2EE平台(应用程序服务器为Tomcat),手机端通过Wi-Fi网络连接到服务端。服务端提供的数据接口将以JSON数组格式返回服务端的音乐资源信息。

2.1.3 网络音乐资源下载

网络音乐资源的下载方式主要取决于音乐资源的提供方式,在图1所示的业务框架中,Web服务器会将服务端音乐资源的URL提供给手机移动端,手机端通过URL来下载对应资源。Android平台提供了基于URL的HTTP连接接口(Http URLConn ection),可通过该接口的I/O流来下载服务端资源。

对于Android手机平台,下载操作需要在子线程中执行(如果阻塞主线程会造成ANR错误),不仅如此,为了获取下载状态,需要使用消息队列、广播或通知(Notification)的机制,将线程执行信息推送给用户界面(Activity或系统状态栏)。本示例中采用通知机制。

2.1.4 系统设置维护

系统设置维护主要用于维护设置信息,设置信息包括:服务器的主机和端口、下载音乐的存放位置、播放模式等。Android平台提供了首选项(Preference)框架,开发者可以快捷地使用XML文件来定义首选项编辑界面。

2.1.5 播放列表管理

播放列表实际上是选择性地将音乐资源(无论本地资源还是网络资源)导出成列表文件,便于下次加载播放。播放列表的管理主要包括:播放列表文件的生成(包括追加)和加载。播放列表的展示也需要使用列表视图和对应的适配器。

2.2 功能结构

图3是该手机移动应用的功能结构图,其一级功能包括:音乐播放控制、音乐资源管理(融合播放列表管理)和设置编辑。其中音乐资源包括网络资源和本地资源,对于网络资源可以下载,对本地资源可以删除,网络资源下载完成后即作为本地资源进行管理。

3 界面设计及接口定义

3.1 界面

3.1.1 主界面

应用程序的主界面如图2所示,其界面内容主要包含4部分:播放控制面板、播放列表、选项菜单和上下文对话框。主界面的布局定义(XML)如代码1所示:

代码1音乐资源播放器主界面布局定义

主界面的选项菜单定义如代码2所示:

主界面的上下文对话框的布局定义如代码3所示:

代码3音乐资源播放器主界面上下文对话框布局定义

3.1.2 网络资源界面

网络资源界面如图4所示,其界面主要内容包含3部分:资源信息列表、选项菜单和上下文对话框。其资源列表界面的布局定义如代码4所示。

代码4网络资源界面布局定义

3.1.3 本地资源界面

网络资源界面主要内容也包含3部分:资源信息列表、选项菜单和上下文对话框。其界面的布局定义与网络资源界面相同。

3.2 数据接口定义

本文的数据接口是指手机移动客户端获取服务端网络音乐资源信息的接口,其采用HTTP协议,JSON格式(JSON数组),数组的记录数据项定义为:

4 程序框架及功能实现

4.1 程序框架

为了更好地阐明该程序的组成结构,将程序所包含的组件按照功能特性归集为4个部分:服务端、支撑层、数据层和展示层,后3层均属于移动客户端。其中,服务端主要是提供网络音乐资源信息接口;支撑层包含:播放服务、滴答服务、文件下载线程和音乐资源信息获取工具类,支撑层的音乐资源信息获取工具类调用服务端的接口来获取音乐资源信息;数据层包括音乐资源列表、系统状态栏(通知队列)和列表适配器(包装了音乐资源列表);展示层主要是Activity组件,其中主Activity负责调用网络资源Activity、本地资源Activity和设置管理Activity,设置管理Activity负责调用首选项设置Activity和文件浏览Activity。

虽然各个组件被划分到不同的层,然而展示层、数据层和支撑层中的各个组件彼此都存在紧密的关联。展示层中的主Activity、网络资源Activity和本地资源Activity中的列表视图都需要绑定音乐资源列表适配器;文件下载线程通过发送系统通知(将在系统状态栏显示)来更新下载进度;主Activity和播放服务通过发送广播和注册广播接收器来进行交互,主Activity向播放服务发送播放控制命令,播放服务向主Activity发送播放状态信息(当前播放音乐的信息及进度);播放服务器负责启动滴答服务,滴答服务用于“提醒”播放服务器更新播放状态信息(发送给主Activity)。各层组件之间的关联关系如图5所示。

4.2 功能实现

4.2.1 音乐播放控制

音乐播放控制由主Activity和播放服务共同完成。主Activity负责与用户进行交互,通过系统广播向播放服务发送播放控制命令;播放服务接收到命令后执行相应的播放行为。代码5是播放服务的创建回调函数:

代码5播放服务创建回调函数

代码5中,播放服务首先初始化播放器(创建播放器对象和绑定侦听器),然后启动滴答服务(用于触发更新播放状态信息)、注册播放控制命令接收器、初始化电话服务并侦听电话状态(如果有来电,将自动暂停音乐播放)。代码6是播放控制命令接收器的定义:

代码6播放控制命令接收器

代码6中,接收器接收的命令包括:启动播放、停止、暂停、后一首、前一首、播放列表有更新和滴答命令。其中停止是指停止服务,主Activity也将结束;播放列表有更新是指用户更新播放列表(创建或新增播放列表)后,同步更新播放器的播放任务列表。

代码7是播放播放列表中指定位置的音乐资源的代码,其是播放控制的基本方法:

代码7播放播放列表中指定位置的音乐资源

代码7中,该方法的参数是播放列表中的序号,由此可知,播放控制中的曲目切换,实际上只需获取目标曲目在列表中的序号,再调用该方法即可。

4.2.2 音乐播放状态更新

音乐播放状态更新包括两种情形:播放曲目发生切换和播放进度发生改变。当播放曲面发生切换时,需要在系统状态栏进行提示,代码8是更新曲目切换状态的主要代码:

代码8更新曲目切换状态

代码8中,采用更新通知的方式(指定了通知ID),将系统状态栏中通知文字改变为切换后的曲目标题,而且通过设置通知的跳转意向可实现从系统状态栏通知“唤醒”主Activity。而当播放进度发生改变时,则需要“通知”主Activity更新播放进度信息,代码9是更新播放进度的主要代码:

代码9更新播放进度

代码10中,主Activity先解析消息内容,然后依据消息内容更新可视组件的状态(播放进度条、播放位置等)。

4.2.3 获取网络音乐资源信息

网络音乐资源信息的获取是以HTTP的方式发送请求,得到以JSON格式返回的信息数组。代码11是获取网络音乐资源信息的主要代码:

代码11获取网络音乐资源信息

代码11中,互联网资源Activity调用Http工具类向服务端发送请求并获取包含网络音乐资源的JSON对象数组,再将JSON对象转换成音乐资源对象。代码12是Http工具类获取网络音乐资源信息的主要代码:

代码12 Http工具类获取网络音乐资源信息

代码12中,Http工具类使用Http客户端组件(Http Client)执行POST请求,并获取客户端的回复,并将回复内容转换成JSON数组。

4.2.4 服务端音乐资源信息接口

代码13是服务端所提供的音乐资源信息接口定义,代码12中正是通过该接口地址(即参数url)来获取网络音乐资源信息:

代码13服务端音乐资源信息接口

代码13中,信息接口通过遍历音乐资源服务器上的音乐资源文件,并将资源信息包装成JSON格式并返回给客户端。

4.2.5 音乐资源列表适配器

在界面设计中,音乐资源列表是该播放器应用最核心的展示组件,为了增强视觉效果,作者对奇偶行以及被选行都采用了不同的背景,而要实现该效果,则需要定制列表适配器。代码14是音乐资源列表适配器获取行视图的主要代码:

代码14音乐资源列表适配器主要代码

代码14中,在基本适配器的重载函数“get View”中,通过行的属性信息(行号及是否被选)来设置不同类型行的显示背景。

4.2.6 网络音乐资源下载

对于网络音乐资源,其URI就是完整的HTTP路径,所以使用Http URLConnection即可实现该资源的下载,代码15是下载网络音乐资源的主要代码:

代码15下载网络音乐资源

在代码15中,下载线程通过系统通知机制提示下载进度信息,其效果如图4所示(系统状态栏显示了加载进度,以10%为单位)。

5 结语

限于篇幅,对该音乐资源播放器的部分功能细节并没有给予详细的介绍(例如:侦听电话呼入状态并进行播放的控制、播放列表的生成、使用文件浏览器来设置下载目录等),读者可以通过配套代码进行理解。

该开发实例涵盖了移动客户端应用中数据展示的常见模式,例如:网络音乐资源的获取、定制的音乐资源列表适配器等;对Android平台组件交互的介绍非常实用,例如:广播消息机制、系统消息机制(还有线程消息队列机制),都是在商业项目开发中常用的方式。

该开发案例经Android 2.2.1、2.3.6和4.0.4版本的实机验证,希望对读者有所参考。

摘要:从开发者的角度对Android手机平台下较为流行的音乐资源播放器进行全面的功能分析,并结合Android平台的相关技术和应用模式,通过实际案例,详细地介绍了该类应用的开发过程。可用于指导Android开发者了解音乐资源播放器应用的开发模式和实现技巧。

关键词:Android平台,手机应用,音乐资源播放器

音乐资源播放器论文 篇2

音乐播放器作文

。这是我的一位好朋友送给我的。

小白穿着一身漂亮的“白衬衫”还配着一条黑色的漂亮“短裙子”,再配上

小白不但外形漂亮,而且我和它在生活中还是一对儿形影不离的好朋友呢!每当我孤独、寂寞的时候,小白总是陪伴我;每当我高兴时,我不仅和家人分享快乐,我还和小白一起分享快乐。小白也需要我,有的时候,小白没电了,它都会响起“嘟嘟”的警告声,似乎在说“小主人,我的肚子饿了,快给我吃饭。”有的时候,小白的“裙子”脏了,我都会去拿点儿纸巾,擦去“裙子”的脏痕,它变得非常漂亮,我真是越来越喜欢它了,

小学生作文大全

小白还有许多的功能呢!里面有一个音乐播放器,我偶尔会下载一些歌曲,仿佛给小白增添了几件新衣裳。考试之前,我总要听上一两首优美的歌曲,放松一下紧张的心情。小白里面还有电影播放,我无聊时,我都看一些有趣的电影,这样就可以解闷了。里面还有录音,我每天都会录音,长大后,我就可以细细的回味小时候的趣事了。小白里面还有一个电子书,有许多书籍我都可以在电子书里找呢!小白真是无所不能呀!

我爱你,小白!

索尼推出新款音乐播放器 篇3

重点放在高端产品

索尼于1979年推出了TPS-L2,敲开了Walkman的大门,35年来,从卡带到CD到MD,再到数字播放器,音乐的媒介一直在不断变化着,但不变的是Walkman的品牌以及索尼对于音乐品质的执着追求,正因如此,才得以缔造出数款经典机型。并且在2013年推出了HiRes Audio技术,而对于打上Hi Res标签的产品,无疑会被索尼划入高音质产品的阵列中来。

因此,在2014年,索尼毫无疑问的会将重点放在高端产品上,在2013年,低端产品占到超过一半的份额,2014年索尼则集中增加高端产品的销售,并且将由售价超过4000元人民币的ZX1拉响头炮。

作为一款高端产品,ZX1在设计理念上相对于传统产品迥然不同。传统产品往往是先确定产品售价,然后以此制定产品规格,最后进行产品开发;而ZX1则恰恰相反,先明确作出优质播放器的开发方向,得出产品后再决定售价,这就解释了高额售价的原因,并且也和索尼今年的计划相吻合。

精于“芯”

Walkman NWZ-ZX1是索尼在Walkman三十五周年纪念之际推出的旗舰机型,主打高品质随身理念,是专为追求极致音质体验的用户而精心打造。该产品搭载有索尼新一代S-Master HX数字音效芯片,可支持高达192kHz/24bit的超高分辨率音频播放,并且其还具备DSSE HX(Digital SoundEnhancement Engine数字音频增强引擎技术)及ClearAudio+(醇音技术+),让用户随时随地都能够享受犹如置身现场股的音乐享受。

近几年来,随身电子娱乐类产品的发展方向越发倾向于智能化,而忽视了自身原本性能上的突破,尤其是在随身音频类产品中更是突显。Walkman

NWZ-ZX1作为此次索尼推出的旗舰机型,不仅延续了Walkman自身的纯正血统,还将随身高音质音乐设备对音乐的演绎带入到更高音质的葚面。其在硬件上搭载了OMAP 4 Coretex-A9 1.0GHz双核处理器,除此之外还配备有S Master HX数字音效芯片,该芯片可以有效降低音频自身的干扰及噪音,并可对音频进行优化提升。在软件方面,结合新研发的DSEE HX技术,Walkman NWZ-ZXl可对压缩的音频文件进行分析,对所播放的音频文件缺失的高频及细节部分进行补充,从而将其提升至高分辨率音频的水准。此外ClearAudio+技术更可让用户轻松实现个性化的音质提升效果,享受高品质音频所带来的逼真与震撼。

考虑到其他可能影响到音质的因素,同时也为了保证稳定高质量的电源供应,WalkmanNWZ-ZX1为S-Master HX数字音效芯片的输出端配备了更高素质的音响级三洋加聚合物电容组件,其可有效加强Walkman的电池、电路及低电阻之间的链接,并可有助于发挥雄厚的低频以至更高质量的中高音。而底部较大的3.5mm耳机插孔设计,也可以减低接触电阻及稳定接触点的压力,有助减少长时间使用引致的损耗及避免声音失真。

简于“型”

Walkman NWZ-ZX1外观设计简约时尚,机身以整块铝合金搭配镀铜零件组成,结合背壳外部仿皮设计,不仅为用户提供了一个舒适的机身握感,更彰显该款产品的尊贵品质。此外,铝合金外壳不仅让该款产品在外观质感上更为优美,还可以有效减少外壳震动,降低干扰和电磁噪音,保证元器件能更加稳固的工作,以达到提升音质水准的功能。

Walkman NWZ-ZX1采用Android4.1操作系统,内置SensMe Channels应用程序可为用户选择适合的歌曲播放,可播放192kHz/24bit高品质音频,包括FLAC、Apple Lossless及AIFF格式。结合机身侧面的控制播放、暂停、选歌及音量的按钮,用户可以迅速方便地播放音乐及影片。

Walkman NWZ-ZX1还拥有Wi-Fi、蓝牙及NFC功能,只需简单配合一个兼容无线配对功能的设备,无论在家中、户外或任何地方播放音乐便有无限的选择。旗舰级WalkmanNWZ-ZX1内置128GB容量,可储存约800首高分辨率音频文件。4英寸(854×480像素)显示屏将TRILUMINOS(特丽魅彩)及OptiContrast技术相结合,可以让显示屏在清晰显示的同时,达到更丰富的色彩及改善反光的效果。

人类将声音挽留的历史要从爱迪生开始!将声音随身而行的历史要从Walkman开始!

Walkman NWZ-ZX1便携式媒体播放器将于2014年2月14日开始预售,建议销售价为人民币4,399元。

茶馆音乐播放器的设计 篇4

1.1 设计要求

音乐播放器是现在非常流行的电子产品。本文所要设计的多功能音乐播放器,要求如下:

1)可以播放多首歌曲;

2)可以通过按键选择需要播放的歌曲;

3)选择需要播放的歌曲时,歌曲名称要在LCD屏幕上显示;

4)播放的歌曲声音要清晰。

1.2 方案确定

由设计要求可知,总体设计中,包括主控单片机,LCD显示器模块以及歌曲选择按钮模块。多功能音乐播放器设计如图1所示。

2 具体实现过程

2.1 硬件电路设计

本设计中的硬件电路设计关键的控制器件是LCD显示器、扬声器以及按键。多功能音乐播放器硬件电路,如下图2所示。

本设计中控制电路在精度上要求不高,所以我们选用带4K字节FLASH存储器的AT89S51单片机就可以满足设计要求。

本设计中我们通过AT89S51单片机的P2.7引脚端口来传送出各种频率的信号源,再通过放大之后传送至喇叭处,P2.7引脚端口发送出的频率控制喇叭发出声音。

LCD是使用12864LCD显示器,显示数据通过单片机的P0引脚来传送。

本设计可实现10首歌曲的播放,因此,按键应有10个。由于涉及的电路元件及I/O引脚都比较少,因此,这里采用10个I/O引脚分别连接一个按键的方式来实现设计要求。本设计中,P1口的P1.0-P1.7以及P2.0、P2.1引脚分别连接按键K1-K10。按键未与I/O引脚连接的一端是与地相连的,因此,当有按键动作时,低电平就会送入I/O引脚中。

扬声器只有两根连接线,一端连接系统正电源,另一端与单片机的P2.7相连。当P2.7输出低电平时,扬声器将导通;当P2.7输出高电平时,扬声器将关闭。如此反复,就可以产生一定频率的歌曲了。

2.2 软件编程及调试

本设计中主要是必须处理好音乐歌曲码以及LCD显示器的字符显示码。程序流程图如图3所示。

音符的产生过程:

1)要让单片机发出声音频率的脉冲信号,就必须要计算得出这一声音频率的时间周期。然后我们利用AT89S51单片机内部的定时/计数器对这一声音频率的半周期进行计时,每当这个半周期计时完成后就将输出脉冲的I/O反相,接下来我们重复此操作,就能够在I/O引脚上得到此声音频率的脉冲。

2)我们利用AT89S51单片机内部定时/计数器,使其在计数器工作方式0下,通过定时/计数器计数初值THO、TLO的改变,用以产生不同的声音频率的方法。

3)其计数值的计算方法如下:

例:设Fi=1MHz,Fr=523Hz,求中音DO的计数值(T)。

T=65536-N=65536-(Fi/2/Fr)=65536-(1000000/2/Fr)=64580

所以得到中音DO的计数值为64580。

音符的编码过程:

将乐曲中所有用到的音符按低、中、高的顺序编码,如下所示:

节拍的编码过程:

1)找出简谱中最短的节拍(1/4节拍),并以其为基准,则各音符的节拍码如下图所示:

2)用定时器/计数0中断的方法来实现音符的节拍,每50ms中断一次,重复循环8次,则1/4节拍为0.4s

编写音乐代码过程:

根据简谱,依次找出每个音符代码及节拍码,按照把音符码放在高4位节拍码放在低4位的方法组合成一个字节,并建立一个表格按顺序存放,则通过顺序查表的方式,就能获得音符及节拍的信息。

歌曲方面应先找到歌曲的简谱,然后对照每个音符的频率值计算出初值,再在程序中列出节拍和音调值。这样程序运行时只需检查这些值即可实现歌曲要求的声音播放。

LCD显示的字符码方面,本设计中要求在音乐播放的同时,在LCD上显示歌曲的名称。歌曲名都是汉字,可以通过LCD自带的汉字字符码转化程序,获取歌曲名称对应的字符码,然后再将LCD字符显示的相关程序作为子程序添加到源程序中,供主程序调用即可完成这部分的设计。

主程序主要先进行LCD显示器的初始化,然后检测是否有按键的动作,若有动作,则播放相应按键对应的歌曲,并将对应的歌曲名显示于LCD上。播放歌曲过程中,若有新的按键动作,则停止播放,转而播放新按键对应的歌曲,并将新的歌曲名称显示于LCD上。当播放遇到结束音符时,播放停止,程序等待下一次的按键动作。

摘要:基于AT89S51单片机的多功能音乐播放器的设计是高职院校“单片机原理及应用”课程教学中可以选用的很好教学案例之一,本文给出了该教学案例的具体设计思路与实现的方法。

PS鼠绘音乐播放器 篇5

步骤 1

创建一个 600×400 px的图层.

步骤 2

使用放射式渐变填充背景,颜色设置为#5e6c78 ——#20282e

步骤 3

复制背景图层,之后进行滤镜-杂色-添加杂色,设置如下:数量:5%;选择单色。下降图片透明度到30%。

步骤 4

制作主界面,创建一个新图层,(按Ctrl + Shift + N)并命名为“Base”,再使用圆角矩形工具,设置半径5px,画出画面中一样的矩形,并使用这些混合选项。设置参数按照图片所示。

颜色渐变参数为:#3d4a59;#1c2329;#303a44 ,描边颜色为#191919。

步骤 5

600 × 600px。 充填50%灰色。 然后,添加杂色,参数设置:80%;高斯噪声,单色。 然后再选择滤镜模糊-径向模糊:旋转参数为100。 之后可以根据自己的感觉,使用快捷键CTRL + F重复径向模糊,直到你满意。

步骤 6

复制到之前创建的“base”图层上。更改混合模式为柔光,不透明度为80%。图层命名为 “Texture”.按Ctrl 点击“base”图层,调用选区,然后按Ctrl + Shift +I, 选择Texture图层点击删除不要的选区。

步骤 7

创建新图层。将它命名为”Higlights”,再用铅笔工具画两条线,分别放置在base图层的视频界面顶端和底部。再选择一个大一点,参数设置为80%不透明度的橡皮擦擦除两侧的线条。

步骤 8

再创建新图层。将它命名为”speaker”。Ctrl键的点击 “base”图层的缩略图获得选区。然后选择矩形工具,按住SHIFT键+ ALT键拖动得到选区,#3a3a3a填充它。复制图层,命名为“质地”。之后进入混合选项并添加这些设置:选择“蛛网图案(素材下载见文章顶部)”,图案叠加混合模式:叠加模式和参数设置为12%。

步骤 9

创建一个新层,命名为“突出”,再次使用铅笔工具绘制1px高光边缘,然后创建一个新图层,命名为“影子”。使用椭圆工具,取出不需要的区域,羽化,高斯模糊,降低透明度50%既可以,大家可以适当的根据感觉调整。

步骤 10

按照左侧制作方法,创建右侧部分。

步骤 11

之后创建,最小化和最大化及关闭按钮。创建新层,命名为“按钮”。再使用圆角矩形工具,设置半径为2px,画一个小按钮,它填充白色。图层渐变的颜色为:#8799ab-#485664-#8799ab 描边颜色为#384251。

步骤 12

创建一个新层,命名为“X”。为了让X更好看,你可以使用你喜欢的字体或用铅笔绘制工具,之后再添加一个渐变(暗灰色,浅灰色)和1px阴影得到这个效果。

步骤 13

同样的方法创建另外两个按钮。

步骤 14

创建新层,画一个像图片中的矩形,填充渐变颜色为#303a44—— #4a5968

步骤 15

创建一个新层,

将它命名为“光泽”。再绘制一个小矩形,填充白色透明度降低到10%。

步骤 16

按照之前的方法绘制高光,透明度大家根据自己的感觉设置即可以。

步骤 17

文字添加,大家可以根据自己的想法修改,我使用的字体是Digital-7,大家可以在DaFont下载到,而细节的处理,还是使用前面常用的方法,用铅笔工具画1px线条来添加细节高光。

步骤 18

创建一个新层。将它命名为“进度条”。再使用圆角矩形工具,半径设置为5px,绘制一个细长的矩形,黑色填充并添加图层样式:渐变叠加颜色设置为#303a44-#1c2329;添加描边1px,颜色为#afbbc6,不透明度为16%。再创建一个新图层,命名为“进度条旋钮”。画出一个小矩形,并填充黑色。图层样式选项为:内阴影:混合模式正常,颜色-白色,距离0,大小1,渐变叠加:#5c6977 -#212a30 -#5c6977; 外描边:1px,颜色#222b31。

步骤 19

接下来要制作好多按钮。创建一个新组,命名为“Buttons”。首先制作播放器基本按钮,如暂停键等。建一个新图层,命名“Button base”。用半径为5px的圆角矩形工具画出外框,然后描边(弧线可重复使用圆角工具完成)。选择图层样式-投影:角度90(使用全局光),距离1,大小0;再勾选内阴影:混合模式为正常,颜色白色,角度90(不使用全局光),距离1,大小0;选择渐变叠加:#4d5c6a-#1c2329-#303a43.

步骤 20

用1px铅笔画四条直线,擦去直线的末端,注意透明度变化。看截图自己想象该怎么细致就怎么整。

步骤 21

制作播放、暂停、停止、前进和后退按钮。用矩形和三角形工具简单的画出,在这个图层添加渐变叠加效果,颜色分别为#b7d9ed-#458fb2-#b7d9ed。

步骤 22

现在做最后四个按钮:重复、随机、播放单和均衡器。制作每一个按钮的步骤都差不多,用圆角工具画出大致形状,添加图层样式:投影-透明度26%,扩展100%,大小1;内阴影-模式选正常,颜色白色,透明度40%,角度90,距离1,阻塞100%,大小0;渐变叠加-#3d4a59-#1c2329-#303a44。复制按钮并如图放置。

步骤 23

现在添加文字。选择Arial字体,再进行图层样式处理:投影-透明度42%,角度90,距离1,大小0.渐变叠加- #4c5a69-#8495a7。

步骤 24

再用铅笔工具进行一些细节处理,主要是高光处理。

步骤 25

最后就是音量控制了。用1px铅笔画出喇叭图标,接着进行渐变处理,颜色设置为#b7d9ed-#458fb2-#b7d9ed。

步骤 26

用半径5px的圆角矩形工具画音量条,用渐变工具填充颜色,设置与进度条一致。

步骤 27

画10个小圆圈。激活的小圆用与喇叭一样的渐变填充,其他的填充简单的黑灰渐变。

步骤 28

现在音频播放器的制作基本完成。合并所有图层(除了背景层),复制这个合并层进行2px高斯模糊,选择垂直翻转,再用橡皮擦轻轻擦去底部(注意画笔,不透明度和流量的使用)。

这样一步一步地,漂亮的音频播放器在你的手中诞生了。

天天动听手机音乐播放器 篇6

“天天动听”作为一款“平民”播放器,选择了全新的创新模式来重新定义移动音乐客户端。作为国内首家真正的无损手机音乐播放器,天天动听最先开始提供无损音乐的试听与下载。内置的强大解码器,能够完美支持APE、FLAC等全部无损音频格式。天天动听独创性地成立了国内首个播放器音效研究小组,并邀请专业调音师在软件中预设了上百种均衡效果。软件还能根据用户播放歌曲的类型,自动进行音效智能匹配。天天动听在音效领域的创新可谓独树一帜。

A8音乐网

由南山区文联和A8音乐集团联手推出的首届“SING星索—2013原创中国流行音乐网络大赛”今年5月在深圳启动。不管参赛者来自何方、从事何种职业,也不论选手是集作词、作曲、演唱为一体的个人,还是各种组合,只要有作品,就可以通过线上互联网平台—A8音乐网原创中国平台上传音频或视频作品。

QQ音乐

QQ音乐的“绿钻用户”营收模式是其他平台目前难以复制的成功典范,QQ音乐在不断丰富“绿钻”营收体系之外的音乐增值内容,发力独家线下活动建立音乐O2O生态圈,提供更为多元化的音乐服务,开拓新的营收模式。此外,在拓展艺人周边产品业务、演唱会票务、线上演唱会付费、电子商务、艺人APP等内容上,QQ音乐也已取得了很好的市场反馈。

电子音乐播放器的设计 篇7

关键词:单片机,电子音乐播放器

前言

单片机电子音乐播放器就是以单片机为主要元器件设计的一个电子音乐播放器。用单片机制作出的音乐播放器结构简单, 可靠性高, 价格低廉, 具有一定的市场前景。以往基于单片机的音乐播放器的设计, 都是直接设计硬件电路板与程序实现, 并不能知道占用多少资源也没有对其可行性进行分析, 而利用PROTEUS软件对基于单片机的音乐播放器进行仿真, 上述难题可迎刃而解。本设计在PROTEUS的环境下仿真完成, 提高了设计效率。

一、总体设计方案

本设计主要设计一种基于AT89C51单片机的电子音乐播放器, 该电子音乐播放器设计的基本要求为: (1) 内置三首或以上不同的乐曲可供用户选择播放 (2) 有液晶屏显示当前播放的是三首乐曲中的哪一首 (3) 有播放/停止和乐曲选择功能 (4) 有与上位计算机串口通信的功能。

二、系统硬件设计

单片机AT89C51是本系统的核心, 它主要负责控制各个部分协调工作。在其外围接上:复位电路、晶振电路、液晶显示屏、按钮、开关及蜂鸣器。硬件电路中用P2.0~P2.2作为LCD的RS, R/W, E的控制信号, 用P0.0~P0.7作为LCD的D0~D7的控制信号。用P3.7口控制蜂鸣器, 电路为12MHZ晶振频率工作, 晶振电路中C1、C2均为30pF。P3.2、P3.3、P2.6端口分别连接2个BUTTON和SWITCH来控制音乐选择上一曲、下一曲及音乐播放的开始或暂停。P3.0 (RXD) 、P3.1 (TXD) 与串口物理终端模型 (COMPIM) 的RXD、TXD端分别相连。见图1所示。

本设计存储歌曲是采用的内部程序存储;播放歌曲是运用单片机的定时/计数器产生不同的频率脉冲, 通过执行程序取反输出产生相应的方波频率信号输出到蜂鸣器 (SOUNDER) 。显示采用的是液晶显示屏LM016L, 显示稳定清晰, 能显示多个信息, 并且通过自定义字符编程可显示中文。选择上一曲、下一曲的功能通过外部中断和外部中断程序实现;开始或暂停播放功能则通过程序代码中的查询代码实现。K1、K2、K3均接地。按下按钮K1、K2将相连的P3.2或P3.3口的电平拉低, 单片机检测到P3.2或P3.3口电平“1”跳变为“0”即下降沿触发外部中断, 按照程序代码完成歌曲选择。P3.0 (RXD) 、P3.1 (TXD) 与串口物理终端模型 (COMPIM) 的RXD、TXD分别相连, 完成上位计算机串口通信, 实现歌曲曲目上传和控制代码下载即上位机控制播放的功能。

三、系统软件设计

本设计采用了自上而下的设计流程, 即在编制一个程序时, 先考虑程序的总体结构而忽略一些细节问题, 然后逐步的一步一步的细化, 直至用程序语言完全描述每一个细节为止。

主要程序设计流程是:主函数→播放歌曲子函数、延时子函数、T0中断子函数→外部中断子函数 (按钮K1、K2选择歌曲) →查询开关K3闭合状态 (开始暂停) 嵌入播放歌曲子函数→液晶显示屏写指令子函数、液晶显示屏写数据子函数→开机画面函数嵌入主函数→歌曲序号和中文名LCD显示子函数→串口发送子函数→串口接受代码 (查询方式) 嵌入播放歌曲子函数。

设计特点为:

1) 程序中使用了两个定时/计数器, T0定时中断用于产生整个音程的频率, 以便驱动扬声器。定时器T1用做波特率发生器, 按照设定的TH1、TL1初值和SMOD产生特定的波特率, 完成串行通信。

2) 不同的音调对应不同的频率, 本设计主要是运用单片机的定时/计数器每半周期取反输出来产生方波频率信号输出到蜂鸣器, 并延时音符相应的节拍来播放音乐。所以存放乐谱编码的数组中, 每2个数字表示一个音符。第1个数字表示音调, 其十位数表示音调1-7, 个位数表示低中高音;第2个数字表示节拍, 即音符节拍相应延时的时间, 送给调用的延时子程序。这样编码方便直观地将乐谱编码成相应的数组。

3) 本设计的用户显示界面采用LM016L液晶显示器 (原理同LCD1602) 来显示开机欢迎画面、当前所放歌曲的序号和中文歌名以及播放状态。其中用字符型液晶显示器LM016L显示中文歌名, 是用字模取码软件得出5×7点阵编码输入实现。

4) 本播放器设计有串口通信功能, 编程实现了与上位机通信查看正在播放的歌曲序号和中文名, 并可在上位机控制播放器播放任意一首歌曲。如图2所示。

四、结论

本设计介绍了用单片机实现电子音乐播放器的设计方法。系统以AT89C51为核心, 设计中软、硬件结合, 仿真验证达到了设计的要求。本设计播放乐曲采用的是内置的乐谱编码, 只能播放电子音。如果能添加上单片MP3译码器和外部存储扩展, 即能实现基本的MP3播放器功能。另外, 配合串口通信功能可以设计专门的用户界面软件, 可以实现更多的控制功能。

参考文献

[1]高玉芹.单片机原理与应用及C51编程技术.北京:机械工业出版社, 2011.

[2]谢龙汉, 莫衍.Proteus电子电路设计及仿真.北京:电子工业出版社, 2012.

基于FPGA音乐播放器设计 篇8

计数器是数字系统中应用较多的基本逻辑器件[2,3], 它的基本功能是实现计数操作, 它也可用与分频、定时、产生节拍脉冲和脉冲序列等。分频器是将不同频段的声音信号区分开来, 分别给于放大, 送到相应频段的扬声器中再进行重放。

2 算法模块设计

系统由5个主要模块组成, 即PLL锁相环模块, 音乐ROM模块, 分频预置数模块, 地址发生器模块, 数控分频模块, 每个模块均利用Verilog语言编写而成。

2.1 PLL锁相环模块和地址发生器设计

本文设计的乐曲演奏电路应用的Cyclone/II/III等系列[4]的FPGA中含有高性能的嵌入式模拟锁相环。此锁相环PLL可以与输入的时钟信号同步, 输出一个至多个同步倍频或分频的片内时钟, 以供逻辑系统应用。

地址发生器模块设置了一个8位二进制计数器, 作为音符数据ROM的地址发生器, 每来一个时钟信号 (Clk) , 8位二进制计数器就技术一次, ROM文件中的地址也就随着递增, 数据ROM中的音符也就连续的取出。

2.2 数控分频模块和音乐模块设计

音符的频率由数控分频模块获得, 这是一个数控分频电路。在计数器的输入端给定不同的初值, 二次预置数就是计数初值, 就可以得到不同音符的发音频率信号。音乐模块存放乐曲中的音符数据, 它是利用LPM-ROM来实现的, 将乐谱中相应的音符放在一个连续的地址, 具体电路如图1所示。

3 仿真结果

系统利用QuartusⅡ自带仿真器, 采用ALTERA公司高性价比的Cyclone系列EP1C6Q240C8芯片。下面对仿真结果进行综合分析。其仿真结果如图2所示。

4 结论

本文分析了乐曲演奏设计中音符、频率、节拍与编码的相互关系, 实现了基于FPGA片上系统动态显示乐曲演奏器的设计。经过编译、仿真、综合等各项测试可以得出结论:可在短时间内设计出高效、稳定、符合设计要求的电路。

摘要:本文设计了一种在EDA开发工具Quartus II平台上[1], 采用Verilog语言及原理图的设计方法的基于FPGA的乐曲演奏电路, 采用ALTERA公司Cyclone系列型号为EP1C6Q240C8的芯片为FPGA控制核心芯片。

关键词:FPGA音乐播放器,电路原理,设计

参考文献

[1]张庆玲, 杨勇.FPGA原理与实践[M].北京:北京航空航天学出版社, 2006

[2]刘睿强.FPGA应用技术及实践[M].北京:北京理工大学版社, 2011

[3]袁海林.基于FPGA的具有存储功能的电子琴的设计[J].国科技信息, 2007, (19)

音乐资源播放器论文 篇9

1 音乐播放器的设计

用户需求是音乐播放器设计的出发点,因此在制作android的音乐播放器之前,必须了解用户对音乐播放器的功能性需求,从而在大量调查的基础上,开发出一个能够获得良好用户体验的android程序应用。

1.1 用户体验需求

基于android的音乐播放器必须满足移动终端的特点,为受众提供一个方便快捷的平台,一般来说,用户对界面的要求并不复杂,只要拥有简洁、易于操作的界面,基本就能够满足用户的需求。[1]同时,响应速度快捷也是android的音乐播放器的基本要求之一,android的音乐播放器出现卡顿现象,会影响用户的体验。此外,android操作系统是一个复杂的操作系统,因此如果音乐播放器无法适应多进程的操作,会导致音乐播放器在运行多个程序的情况下无法获得良好的衔接效果。Android操作系统存在更新的问题,并且每一个版本都有其独特的改进,如果android的音乐播放器无法与时俱进,适应android系统的更新速度,会影响该音乐播放器的正常运行。除此之外,还要求android的音乐播放器具有良好的兼容功能,能够播放多种音频文件,一方面,提高音乐播放器的兼容性,能有效地提高用户的使用体验。另一方面,提高音乐播放器的兼容性,能在一定程度上提高音乐播放器的歌曲容量,将音乐播放器在广度上提高一个层次。

1.2 功能需求分析

作为android平台的音乐播放器,必须在功能上满足用户的基本心理需求,例如在操作界面的设计上,要具有基本的用户交互的功能,这一部分是android平台的音乐播放器的关键部分,通常这部分被业界称为主播放界面。此外,列表的设计也是音乐播放器不可缺少的功能,用户可根据个人的喜好,将喜欢的歌曲进行分类,偏爱列表是推送功能的基础,因此这一部分被业界称为音乐库,音乐库的歌曲,可供个人下载或者在线收听。[2]一个音乐播放器的主界面通常由播放音乐/暂停音乐键、进度条、音量控制条、模式选择组成。这些功能既是音乐播放器的基础,也是设计android平台的音乐播放器的核心部分,因此要求相关工作人员能够设计出简洁并且吸引眼球的主界面。音乐库的主要功能是对各种列表进行管理,这些列表通常由最近收听列表、本地歌曲和自定义列表构成,全部歌曲列表是以列表的歌曲显示全部歌曲,包括本地歌曲,自定义列表与最近收听列表,通常作为主界面的主要条目显示。播放列表是用来对音乐库正在播放的歌曲进行管理,可依照个人的喜好来添加与删除,只要在主界面添加新建播放列表即可显示。

2 基于android平台的音乐播放器的制作方法

2.1 音乐播放器的层次构架

综上所述,基于android平台的音乐播放器通常由主播放界面、音乐库和下载管理器三大部分组成,在相关工作人员进行音乐播放器制作之前,需要将三者进行层次构架,分别为音乐播放层、音乐库层、下载管理层,并逐渐模块化,例如音乐播放层的主要功能模块是主界面模块,可执行音乐的播放控制功能。而音乐库层可与音乐主界面模块相互跳转,从而实现用户的基本操作,音乐库层除了对播放列表进行管理,还与网络相连,负责定期的推送。播放列表模块则包括添加与删除等功能。下载管理层与音乐库模块相连,是对在线播放和下载进行管理的部分,可实现歌曲的下载、保存、在线播放,并且在歌曲的下载过程中,还可现实歌曲的下载进度,并对下载完成的歌曲向用户发出通知。再细化下去,主播放界面还包括音量控制模块、暂停播放模块以及音乐进度条模块,共同完成对音乐播放的控制功能,此外为了更好实现对播放音乐的控制,还需要完善音乐主界面的顺序播放功能、随机播放功能以及循环播放功能。音乐库界面包含全部歌曲列表模块、自定义列表模块、新建列表模块。下载管理是由在线播放模块、下载进度条模块、下载列表选择模块与音乐搜索模块组成。[3]

2.2 兼容性测试

在音乐播放器基本构架完成之际,需要对音乐播放器进行兼容性测试,从而保证这个基于android平台的音乐播放器能够适应多种音频格式的播放,在技术层面上提高该音乐播放器功能的广泛性。首先,相关工作人员要采用程序自身解码的方式,在后台保证该音乐播放器能够兼容多版本的android系统。其次,要实现不同格式的音乐的播放,这不但依靠音乐播放器自身的解码功能,还要求软件本身具有一定的广泛性,能够进行稳定的音频播放。因此相关工作人员要从三个方面进行检测,首先要检测不同版本下的音乐播放的稳定性,其次要播放多种格式的音乐,最后要测试与不同的移动设备的兼容性。[4]

3 结语

综上所述,音乐播放器需要一个简洁、漂亮的界面,给使用者以更好地用户体验,还要求从播放器的功能性入手,保证该音乐播放器能够在android的技术框架下,实现功能的全面性和兼容性。

参考文献

[1]蒋斌.某数字音乐开放平台的设计与实现[D].中国科学院大学,2015.

[2]摆云.基于Android开放平台和无线通信网络的实时音视频传输系统设计与实现[D].兰州大学,2012.

[3]李玲玲.基于Android平台在线音乐播放器的研究与实现[D].安徽理工大学,2012.

音乐资源播放器论文 篇10

关键词:语音识别,技术,音乐播放器,设计

目前,人类实现了由传统靠键盘和按键控制机电、计算机系统的生活作业模式到通过语音识别技术控制机电和计算机系统的飞跃。语音识别技术的播放器设计过程实际是实现语音智能控制音乐播放器的技术。很长一段时间,人机对话通过数字领域的“手动操作”来进行,这种交流方式将人与机电系统和计算机系统之间的交流变得狭隘,人与机器只能通过数字量或者数字转换形式在近距离的空间里进行交换。语言本是人类最基本的沟通交流工具,在日常活动中,人们通过语言进行信息传递。语言能承载很大的信息量,具有较高的智能水平,在以后的探索中,它是实现机电系统和计算机系统向人一样能感知、能表达的发展方标。一般的播放器都是通过手动来调节,这种操作形式不仅使硬件设施老化迅速,还给手脚不方便的使用者带来很多麻烦。有人预测,语音识别技术在10年之内将迅速进入家电、通信、家庭、汽车及工业等领域。

1语音识别技术的发展现状

语音识别技术最早出现在50年代,AT&T Bell实验室研制的可识别十个英文数字的语音识别系统标志着语音识别技术时代的到来;60年代的重要成果就是用动态规划方法来解决语音识别中不等长的对正问题;70年代,取得了突破性的进展,研制出了基于线性预测倒谱和DW技术的特定人孤立语音识别系统,80年代,HMM模型和人工神经元网络在语音识别系统中的应用使语音识别研究进一步加深;90年代,伴随着多媒体的到来,迫切要求语音识别系统从实验室中走到现实生活中。许多发达国家的著名工资投入巨资在语音系统地实际应用开发中,现今,是市场上出现了语音识别电话和语音识别笔记本电脑等产品的身影,尤其在家电方面应用广泛。

2语音识别技术

2.1语音识别技术定义

语音识别技术是让机器通过识别和理解将人类的语言信号转换为相对应的文本或者命令的技术。语音识别是一门与声学、与声学、语音学、语言学、数学信号处理理论、信息论、计算机学科等众多学科紧密联系的综合学科。它是人和机器交流的一项重要工具,目的在于让机器听懂人类的语言,是机器智能化的一个重要表现。语音识别与人的说话方式、说话语速、说话内容和不同的环境情况有关,语音信号本身的多变性、波动性,持续性、瞬间性在某种程度上增加了语音识别的困难。

2.2语音识别类别

2.2.1按照识别单位划分

包括音素识别、音节识别、孤立局识别、语音理解、识别的单词之间由停顿和连续的识别等。

2.2.2按照词汇识别量划分

包括10-50个的小词汇、50-200个的中词汇、200个以上的大词汇等。

2.2.3按照说话对象的划分

包括固定说话人、多个说话人、不关联说话人的人。其中固定说话人的语音识别比较简单,识别率较高。多个说话人和与说话人无关的语音识别系统的应用范围比较广,实用性较高,但难度系数也是比较大的,识别率不是太高。但是后两者的使用价值比固定说话人的价值更大。

2.2.4按照识别方法分

大体包括概率语义分析法、随机模式法、模板匹配法,还涉及到人工神经网络语音识别和语法是语音识别等。现今,语音识别在连续语音、不是固定人、大量词汇方面发展较多并且取得了一些突破性的成就,如以HMM为构架,构建识别系统模型。

2.3语音识别基本原理

现在大多数语音识别系统都采用模式匹配原理。将待识别的语音先经过话筒转换成为语音信号,然后从识别系统顶端输入,在进行预处理。特征提取部分用来提取语音识别信息中能够代表本质的声音参数。通常训练在识别之前进行,通过讲话者反复重复语音,最初语音样本中除掉多余信息,保留关键数据来实现。模式匹配时语音识别系统的中心,它是根据专家知识和一定的准则计算出输入特征和库存模式之间的近似度,推断出输入语音所要表达的意思。

2.4语音识别的瓶颈

语音识别虽已有50多年的发展史,但在语音识别系统的实际应用中还是碰到了瓶颈,具体表现在依赖外在环境条件和只能在安静的环境下工作。语音识别系统一旦在吵闹的环境下工作,会发生声音失真、发音速度和音调变动的不良现象,一般通过谱减法、环境技术调整、修正识别模型、建立噪声模型这四种手段进行整顿。要想跨过以上瓶颈我们在实际的应用研究中应慎重选择语音识别基元,提高端点检测技术,在语音识别系统中结合韵律信息(说话人的重音、语调等)。

3音乐播放器设计

音乐播放系统实际是多媒体技术在社会生活中的实际应用。多媒体是指能够同时获取、处理、编辑、存储和展示文字、声音、图片、动画、视频等两种不同信息媒体的技术,简而言之,多媒体是一种技术。计算机技术和信息处理技术的发展 , 极大的提高了人类处理多媒体信息的能力。

音频播放系统可以通过音频硬件的自动检测和使用加速,来控制媒体的播放,也可支持没有硬件加速的系统。它所支持的媒体格式包括MP3、WAVE、AVI、DV,这都是我们生活中常用的格式。特别重要的是它可直接支持DVD播放,并且提供的是一种开放式的开发环境。

4 基于语音识别技术的单片机音乐播放器设计

4.1 基于语音识别技术的音乐播放器的硬件设计

4.1.1音乐播放器系统设计

该音乐播放器系统由音频输入和音频输出两个模块组成,音频输入是为实现语音信号识别,音频输入是为实现播放。现提出方案如下:

这一方案件简单易行,节约了很多电路结构。只要注意在语音录入时加入麦克风电路,在语音输出时外接功放电路即可进行实现语音播放功能。

4.1.2音乐播放器电路设计

音乐播放器单片机电路设计

单片机的主电路主要包括晶振,锁相环,复位电路等外围的基本模块。

音乐播放器电源电路设计

通过电池盒提供给的4.5V直流电压经由SPY0029后产生3.3V给整个系统提供电量。SPY0029是一个电压调整IC,引用CMOS技术,它的静态电流低,驱动能力较强,线性调整突出。

音乐播放器键盘调控电路设计

因为该音乐播放器是双重模式控制,除了语音控制播放器外,还有播放,开关机,暂停,停止,上一首,下一首六个按键控制播放器模式。

4.2 音识别技术的音乐播放器的软件设计

在较早的程序设计中都是采用不同的软件来进行处理,研制人员得在几种软件中来回转换使用,例如先用文字处理软件编辑源程序,再用链接程序进行函数处理,最后用编译程序进行编译。现在的研制人员将编辑、翻译、处理等功能放在了一个桌面环境里,这在无形之中给使用者带来了很多的方便。

4.2.1音乐播放器的集成开发环境

该集成开发环境支持16位单片机系列、语言汇编、C语言混合编程的程序开发。它为使用者提供完整的交互桌面,操作简单,调试工作便于进行,他所提供的软件仿真功能可以在脱离仿真板的条件下,模拟硬件部分功能。该开发环境的主口操作界面由六部分组成 : 主菜单、工具栏、工作区、输出去、编辑区、状态栏。

4.2.2 音乐播放器的训练命令程序设计

通过特定发音人训练播放器识别播放、暂停、停止、上一首、下一首这五种命令。

当检测到训练标志位内容为非训练时,这就要求训练者对它进行训练操作。获取结果一般经过两次训练。以训练音乐播放器暂停为例,播放器先会提示操作者输入第一条语音指令,此时训练者说出暂停命令,然后播放器会提示请再说一遍,训练者按照提示再说一遍,只要两次暂停的声音差别不是太大,播放器就会成功建立模型,这时暂停命令训练已经成功,若未能成功建立模型,播放器会提示失败原因,只要注意原因重新训练即可。暂停指令训练成功后,会自然给出下一条有待训练方式。依照按键顺序完成全部训练,训练结束后,子程序返回。

5结语

本文通过对基于语音识别技术的SPCE061A单片机音乐播放器设计分析,有力的证明了语音控制音乐播放器的实用性,通过该项技术我们可以简单轻松的对已经开机的播放器进行播放、暂停、停止、上一首、下一首等模式的命令。与传统的按键控制播放模式相比,其优势是显而易见的。

音乐资源播放器论文 篇11

尽管无线遥控在家庭音响上已经应用数年,但是操控方式一直以红外遥控器为主,并且不能和互联网很好地相连。SONOS去年发布的Zone Players5就摆托了传统的操控方式,提供了一种全新的体验,不过,由于定位过高,所以中低端用户对该产品鲜有问津。而此次SONOS推出针对小户型用户的Play:3播放器以及与中国本土化音乐服务商多米展开合作,可以看做是调整其策略的一部分。表明除了高端市场,SONOS已经开始将主流群体纳入市场范围。

此次发布的SONOS Play:3全能播放器是一款小巧精致的播放器,它可以摆放在家庭内任何地方。相较于SONOS 去年发布的Zone Players5,Play:3外形上更小巧了一些,更易于摆放。SONOS亚洲区董事总经理张亚玲这样比较Play:3和Zone Players5:“Zone Players5适合大套房或别墅使用,而Play:3则更贴近温馨的小套房或家里不适合放置大音响却又需要高质音乐的角落。”

音乐资源播放器论文 篇12

本文描述了基于Android手机平台的音乐播放器开发, 为Android使用者提供更多的选择, 尽量能够满足用户个性化的要求, 使用户的手机更加显得生动灵活, 达到让用户真正的随时随地处于音乐的旋律中。

1 Android结构组成

Android操作系统主要有4部分组成:[3]:Activity (活动) 、Service (服务) 、Broadcast Intent Receiver (广播) 、Content Provider (数据提供者) 。虽然系统由以上部分组, 但这并不意味着每一个Android应用程序都需要这四个模块, 是否需要以上各部分主要由软件业务来决定。在某些时候, 只需要这四种中的几个组合成相关的应用。各个组件模块之间要进行切换必须通过一个意图Intent类来实现, Start Intent () 方法主要用来在各组件之间进行跳转。Android布局如同是一个承载组件的容器, 组件不同放置方式决定了应用界面是否友好, 便于操作。因此, Android布局是系统开发中的一个重要环节, 在Android软件开发过程中, 主要有五种布局方式, 它们分别为:Frame Layout (框架布局) , Linear Layout (线性布局) , Absolute Layout (绝对布局) , Relative Layout (相对布局) , Table Layout (表格布局) 。以上布局方式可以相互嵌套, 以便组成各种不同的应界面。线程也是Android系统的一个重组成部门, Android级线程之间通信主要通过中介类Handler来实现。SQLite数据库是Android自带的一个小型的数据库, 由于它占用资源非常低, 所需内存非常小, 一般仅需要几百K的内存就够用, 适合在Android移动平台或嵌入式设备中使用。

在集成开发工具Eclipse上集成了插件ADT, 以便用于Android系统的软件开发。当一个Android程序启动时, Eclipse会启动一个模拟器, 模拟器用于模拟当前手机硬件基本功能和相关的基本操作。

1.1 基于Android开发的软件目录结构

Android工程目录基本结构[4]主要包括:src (程序源代码) 、gen目录、assets (系统所用到的如mp3、视频类等文件) 、Res (资源文件) :主要存放程序界面的布局配置 (.xml) 文件和图片资源。Android Mainfest.xml是四大组建的驱动配置文件, 有它的存在, Android程序的四大组件才可以正常的跳转。在gen目录中有个R.java文件, 通过它可以快速定位需要的资源, 同时编译器检查R.java列表中的资源是否被使用到, 如果没有被用到, 该资源将不被编译到软件中, 以便减少应用程序占用的空间。

1.2 Android Mainfest.xml文件

Android Mainfest.xml项目中的总配置文件, 用于记录程序中所使用的各种组件。每个Android应用系统都要使用Android Mainfest.xml来引导启动, Android Mainfest.xml文件由新建的工程项目都会自动生成, 它也是整个应用系统能够正常运行的核心, 其中包含了Android SDK的版本。

2 系统具体实现

2.1 系统功能图

本系统的主要功能有播放音乐、搜索音乐、解析歌词、接受广播。其中播放音乐主要包括的子功能有上一首、下一首、暂停功能、播放功能, 搜索音乐则包括搜索媒体歌曲和媒体歌词, 解析歌词则就是解析LRC歌词, 接受广播则是进行播放服务和接收音乐服务。系统的整体结构图如图1所示。

2.2 音乐播放器E-R图

音乐播放器的内容主要组成是播放列表、歌曲数目。而播放列表的属性是歌曲的名字和编号, 由歌曲组成, 歌曲的属性则包括曲目号码、大小、艺术家、专辑、歌曲名字、发行库、流派等, 如图2所示:

2.3 数据库连接

Android自带SQLite数据库, 是用C语言编写的开源嵌入式数据库, 支持SQL92标准, 同时可运行在所有主流操作系统上运行。SQLite运行资源占用少、性能良好并且管理几乎零成本, 因引在嵌入式数据库开发方面应用非常广泛。如Android、i Phone都内置了SQLite数据库。当编写相关数据库引代码后, Android会在/data/data/[PACKAGE_NAME]/databases目录下生成一个“music.db”的数据库文件。在本文中, 定义Music DBHelper extends SQLite Open Helper类实现数据的基本操作。当需要打开一个数据库连接并获得数据库对象时, 首先根据Music DBHelper创建一个辅助对象, 然后调用该对象的get Writable Database或get Readable Database方法获得SQLite Database对象。

3 播放器系统功能详细设计及编码

3.1 音乐播放器主界面功能实现

3.1.1 播放器主界面

在Android应用系统中, 用户界面框架 (Android UI Framework) 使用了MVC (Model-View-Controller) 模型, 即处理用户输入的控制器 (Controller) 、显示用户界面及应用程序的视图 (View) , 和保存数据的模型 (Model) 。用户界面通过布局配置文件进行布局, 该文件包括各种布局方式和各种资源文件, 如图像、文字、颜色等。程序通过代码对各种配置数据进行操作, 以便形成不同的可视化用户界面和绚丽的视觉效果。播放器主界面由一个Activity组成[5], 每当Android应用程序启动时, activity首先执行On Create () 方法, 通过该方法执行用户界面的初始化操作。Activity有个专门用于布局的方法:Context.set Content View (String musiclayout Res ID) , 参数为要加载的资源ID, 该资源存放在工程目录res/layout下, 在本文中, 用户主界面布局文件被命名为music_rack, 下面为musicrack.xml布局文件代码结构如下:

在本文中, 通过绝对布局里嵌套两种线性布局勾勒了该音乐播放器的用户界面轮廓, 其中实现了歌曲的标题和歌曲名的显示位置, 布局设置布局的来显示歌曲标题的绝对坐标位置。在每个布局内可以设置多个Widget (窗体组件) , 如:、等。每个窗体组件内可以有多种属性, 用来设置该窗体组件的坐标、大小、背景和颜色等参数。在该音乐播放器的用户界面中, 歌词显示为居中, 下面是歌词的显示的实现代码:

3.1.2 播放界面音轨的实现

在Android系统中, 自带有播放音轨的组件, 但该组件不能从外观界面和从功能上考满足用户的实际需求, 为了实现用户的使用要求, 因此本文自定义一个Lookfor音轨进度条, 其实现的代码如下:

上面的参数中android:thumb="@drawable/media_player_progress_button"为加载音轨进度条的图片资源。android:progress Drawable="@drawable/seekbar_img"为进度条引用的风格。android:layout_width="fill_parent"指定进度条的宽度为充满整个屏幕, 而android:layout_height="wrap_content"指定进度条的高度为适中, 根据显示所需的大小进行变化。

3.1.3 播放器播放、暂停、停止等功能实现

在Android操作系统中, 已经封装了一个命名为Media Player的音乐播放接口[6], 该接口在执行时需要一个数据源。在本文中播放的功能主要分两部分实现:首先执行开始按钮的监听操作和通过intent调用歌曲信息;再调用play () 方法进行播放。同时可在Music Player中发出音乐调用pause () 暂停或调用stop () 停止的事件

在Music Player Service中接受Intent中信息, 根据信息的内容通过定义on Start (Intent intent, int start Id) 实现开始播放、暂停、停止等操作。

在监听器中创建一个Intent对象, 当操作发生后由Music Player跳转到Music Player Service, 然后读取歌曲文件的相关信息并压入Intent中, 再传递到service中。当执行播放操作时, 首先获取要播放的歌曲信息如:路径和歌曲名等信息, 然后调用mediaplayer接口读取数据, 并开始播放。当执行播放、暂停、停止等功能时, 则只需根据相关指令进行操作即可, 不需要再进行数据的读取。

3.2 播放列表的实现

播放器的播放列表主要包括歌曲名字、演唱者、歌曲时间, 播放列表配置文件框架结构主要如下所示:

在以上配置文件中, Text View用于定义每一个文本框, 显示歌曲的名字和演唱者以及时间。而播放列表的功能通过调用自定义方法get Music View (int pos, View con View, View Group view Parent) 来实现。该方法收到从存储卡中读取歌曲返回的信息后, 以列表的形式显示出来, 当用户打开列表时会自动搜索本地的歌曲文件, 并显示在列表中, 当本地没有歌曲文件时, 则提示列表为空。

3.3 菜单功能

在菜单功能中, 该文只设置了退出选项, 旨在减少程序代码的冗余, 程序中的Music Menu.java设置一个List容器, 用于存放String类型的数据, 如menu.add (0, ITEM, 0, "退出") , 然后通过intent.set Action (MUSIC_SERVICE) 传递到Music Player Service中去。

3.4 手机扩展卡的访问

为了更好的管理音乐文件, 该文专门开发了了文件浏览功能。当打开音乐文件浏览器时, 可以显示文件的目录结构、歌曲文件的文件名和文件图标等信息。对于每可查看得到的文件, 都可对其进行文件管理操作。因为本文的文件浏览功能是专为播放器操作歌曲而设计的, 因此通过该文件浏览器只能查看和操作音乐文件。在主菜单界面上, 选择新增选项进入到文件浏览器, 或者当播放列表为空时, 会提示用户进入文件浏览器新增歌曲。代码实现如下所示:

利用Android多媒体自带的存储方法进行数据的存储[7], 这样可以较好的利用系统资源, 其中Media Store.Audio.Media.TITLE代表的查找歌曲标题, Media Store.Audio.Media.DURATION代表查找歌曲的时间, Media Store.Audio.Media.ARTIST代表查找歌曲作者, Media Store.Audio.Media.ALBUM, 代表查找歌曲所属的专辑。

3.5 仿真结果和性能测试

如下图3所示, 即为播放器的主界面, 主要由歌曲名字, 歌手头像、歌词、进度条和各种播放功能组成:

3.5.1 播放界面音轨的实现

由于系统的Seekbar[8]通常很难满足用户的功能和感观需求, 因此本文定义了一个音轨进度条。如图4所示。该进度直观明了, 也便于用户操作使用。

4 结论

基于Android平台的手机音乐播放器, 希望能够为用户提供一款节约手机资源, 实用性强的手机音乐播放器。在本款软件中, 减少了很多不必要的功能设置, 避免了界面花哨、功能庞大而带来的浪费资源的问题, 所以较大的提供了软件的实用性, 希望能够得到较为广泛的应用。在本次软件的开发过程中, 从最初的Android开发环境搭建开始学习, 因为ADT的插件要在Eclipse中连线到国外在线安装升级, 所以这一部分相对消耗的时间较长, 但是过程也比较简单。然后就是对Android基本框架的学习, 以及熟悉Android的层次结构, 并要掌握常用的配置属性。

参考文献

[1]独立网页.Android.http://baike.baidu.com/view/1241829.htm.百度百科.2013

[2]Bruce Eckel.Thinking In Java[M].英文第4版.机械工业出版社, 2007.

[3]高焕堂.Android应用框架原理与程式设计36技[M/OL].Google公司.

[4]马越.Android的架构与应用[D].中国地质大学 (北京) 硕士学位论文.

[5]陈利强.基于ARM芯片的嵌入式图像处理平台开发与实现[D].华南理工大学硕士论文, 2011.

[6]Haseman Chris.Android Essentials[M].Apress:the Expert’s Voice, 2008:156-160.

[7]DiMarzia Jerome.Android:A Programmer’s Guide[M].McGraw-Hill, 2008:85-120.

上一篇:创业心理素质培养下一篇:最优策略问题