android开发音乐盒的实验报告

合集下载

电子音乐盒的的实训报告

电子音乐盒的的实训报告

一、实训目的本次实训旨在通过实际操作,让学生掌握电子音乐盒的设计与制作流程,提高学生的电子技术、音乐处理和动手实践能力。

通过实训,使学生能够:1. 了解电子音乐盒的基本原理和组成;2. 掌握电子音乐盒的设计与制作方法;3. 熟悉相关电子元件的性能和应用;4. 培养学生的创新思维和团队协作能力。

二、实训环境实训地点:电子实验室实训设备:电子元件(如:单片机、扬声器、电阻、电容、按键等)、编程软件(如:Keil、C语言编程软件等)、音乐制作软件(如:Audacity等)。

三、实训原理电子音乐盒是一种将音乐信号转换为声波,通过扬声器播放的音乐设备。

其基本原理是利用单片机控制音乐芯片,将音乐数据转换为相应的电信号,通过扬声器播放出来。

1. 音乐芯片:存储音乐数据,如MIDI文件;2. 单片机:读取音乐芯片中的音乐数据,按照一定的时间间隔发送指令给扬声器;3. 扬声器:将电信号转换为声波,播放音乐。

四、实训过程1. 音乐制作:使用Audacity软件制作MIDI文件,并将其转换为适合单片机播放的音乐数据。

2. 元件选型:根据音乐盒的设计需求,选择合适的电子元件,如单片机、扬声器、电阻、电容、按键等。

3. 电路设计:根据元件性能和功能,设计电路图,包括单片机、音乐芯片、扬声器等部分。

4. 电路焊接:按照电路图,将元件焊接在电路板上。

5. 编程:使用Keil软件编写程序,实现音乐盒的功能。

6. 调试与测试:对音乐盒进行调试,确保其正常工作。

五、实训结果1. 设计并制作了一款具有基本功能的电子音乐盒;2. 掌握了电子音乐盒的设计与制作方法;3. 熟悉了相关电子元件的性能和应用;4. 培养了创新思维和团队协作能力。

六、实训总结1. 通过本次实训,我对电子音乐盒的基本原理和组成有了更深入的了解;2. 在设计过程中,我学会了如何根据需求选择合适的电子元件,并进行了电路设计;3. 编程过程中,我掌握了C语言编程,提高了编程能力;4. 在调试与测试过程中,我学会了如何解决实际问题,提高了问题解决能力;5. 本次实训使我认识到团队协作的重要性,培养了良好的团队精神。

安卓音乐播放器实验报告

安卓音乐播放器实验报告

竭诚为您提供优质文档/双击可除安卓音乐播放器实验报告篇一:音乐播放器实验报告面向对象程序设计课程设计设计说明书音乐播放器(mp3player)起止日期:20XX年5月27日至20XX年6月2日学班学成生姓名级号绩孙见任计算机科学与技术10110408100124指导教师(签字)计算机与通信学院20XX年6月2日目录一、课题的介绍和课题的任务二、设计的要求三、系统的分析和系统中功能的设计四、系统的实现及调试五、系统的使用说明六、总结七、程序主要源代码八、课程设计任务书一、课题的介绍和课题的任务音乐播放器是一种用于播放各种音乐文件的多媒体播放软件。

它涵盖了各种音乐格式的播放工具,比如:mp3播放器,wmA播放器,mp4播放器等。

它们不仅界面美观,而且操作简单,带你进入一个完美的音乐空间。

利用mFc应用程序、媒体控制接口mIc的基本知识,设计一个mp3播放器。

要求能够播放常用windows音频格式的文件;实现播放控制:播放、暂停、清空播放列表、音量增减、添加歌曲、上一曲,下一曲等功能;实现从本地磁盘加入文件,然后对其进行播放。

二、设计的要求系统模块功能图:流程图:二、系统的分析和系统中功能的设计该播放器分为八大功能模块;1、背景图片:音乐播放器的背景图片。

篇二:android手机音乐播放器实训报告final课程名:软件工程综合实践实践项目:基于Android的手机音乐播放器一、课程设计题目基于Android的手机音乐播放器二、课程设计内容(含技术指标)本程序是基于Android开源系统技术,利用Java语言和eclipse编辑工具对播放器进行编写。

程序功能如下:用户可以按照以下规则进行操作:1.音乐播放:界面对歌曲操作有播放、暂停、停止、音量控制、上一首/下一首播放模式:随机播放、顺序播放、单曲循环。

2.音乐管理:音乐列表、专辑:显示全部音乐文件,能直接选择播放歌曲。

艺术家:归类艺术家的音乐文件。

最近播放:记录用户最近播放的音乐文件,方便用户再次使用。

Android开发音乐播放器毕业论文

Android开发音乐播放器毕业论文

A n d r o i d开发音乐播放器毕业论文SANY GROUP system office room 【SANYUA16H-郑州大学毕业设计(论文)题目:基于Android平台的音乐播放器指导教师:李妍职称:讲师学生姓名:陈小雨学号:专业:计算机科学与技术(软件开发)院(系):软件学院完成时间: 2014年05月05日2014年05月05日目录摘要 (1)ABSTRACT (2)前言 (3)1 Android平台及开发工具介绍 (4)1.1Android平台简介 (4)1.1.1A ndroid平台架构 (4)1.1.2Android的四大组件 (6)1.2 Android的开发环境 (8)1.2.1 Eclipse (8)1.2.2A ndroid SDK (8)1.3本章小结 (9)2 需求分析 (10)2.1 播放器的设计目标 (10)2.2 软件的可行性研究 (10)2.2.1经济上的可行性 (10)2.2.2技术上的可行性 (11)2.2.3操作上的可行性 (11)2.3 播放器的功能需求分析 (11)2.3.1播放器的基本功能 (11)2.3.2歌曲列表的功能 (14)2.3.3菜单的设置功能 (16)2.4 本章小结 (18)3 总体设计.................................................3.1设计原则 (19)3.1.1总体设计路线 (19)3.1.2 系统功能结构图 (20)3.1.3系统流程图 (21)3.2 主要功能设计 (21)3.2.1歌曲列表模块 (21)3.2.2 音乐播放模块 (22)3.2.3 专辑列表模块 (23)3.2.4 菜单设置模块 (24)3.3系统的安全设计............................................................ .. (24)3.4 本章小结 (25)4 详细设计与实现 (26)4.1 欢迎界面............................................4.2 歌曲播放界面 (27)4.2.1 播放音轨SeekBar (28)4.2.2 播放调节功能 (28)4.3 歌词显示界面 (29)4.4 列表显示界面 (30)4.5 菜单设置 (31)4.6 本章总结 (33)5 音乐播放器的测试 (34)5.1 测试模型 (35)5.1.1 V模型 (35)5.1.2 W模型 (35)5.2 测试模型的选择 (37)5.3 测试方法 (37)5.3.1 白盒测试 (37)5.3.2 黑盒测试 (38)5.3.3 测试方法的选择 (38)5.4 功能的测试与实现 (38)4.2.1 播放器整体功能的实现 (39)4.2.2 播放器主要模块功能测试 (40)5.5 测试结论 (40)5.6 测试过程与总结 (40)5.7 本章小结 (41)结论 (42)致谢 (43)参考文献 (44)摘要Android平台是Google公司最新推出的一个手机平台,该平台对移动设备的程序集中包括一个操作系统,一个中间件和一些关键性应用。

基于Android的音乐播放器的系统设计的研究报告

基于Android的音乐播放器的系统设计的研究报告

基于Android的音乐播放器的系统设计的研究报告本文基于Android平台开发了一款音乐播放器,主要实现了歌曲的播放、暂停、切换、调节音量等基本功能。

本文主要介绍了音乐播放器的系统设计,包括面向对象设计、软件体系结构设计及界面设计等。

一、面向对象设计面向对象设计是一种软件设计方法,通过将对象的属性和行为打包在一起,以便更好地管理和重复使用。

本系统的面向对象设计主要包括三个核心类: MediaPlayManager(媒体播放管理器)、 Music(音乐)和 PlayControl(播放控制器)。

MediaPlayManager类是整个系统的核心。

它负责管理音频播放相关的所有操作,如音频资源的获取、播放控制、进度更新、音量调节等。

同时,它还可以屏蔽底层的细节实现,以便更好地隔离系统的其他组成部分。

Music类是储存音频信息的基本单元,存储了音频文件的基本信息,如文件路径、歌曲名、歌手、专辑等信息。

Music类是可重用的,可以被图形用户界面和系统其他组件调用。

PlayControl类是包含系统中所有的用户交互控件,通过监听用户输入来触发音频播放的开始、暂停、停止、快进、快退等操作。

PlayControl类还包含了音量控制和进度条控制,以便更好地处理用户对音频的操作。

二、软件体系结构设计在软件体系结构设计方面,本系统采用面向服务的体系结构设计方法。

本系统包含了多个服务,分别负责从不同的数据源获取数据、音频处理、媒体播放、UI交互等工作。

这些服务各自独立地工作,通过接口来协调彼此之间的工作,以便实现整个系统的功能。

其中最重要的服务是MediaPlayService媒体播放服务,负责整个系统的媒体播放工作,包括MP3音频格式、网络音频、在线音频等媒体类型的播放工作。

另外,本系统还采用了MVVM架构模式,将业务逻辑和视图分开,使得业务逻辑可以单独测试,且可以更加方便的修改和升级。

MVVM模式可以有效地解耦,在注重变化和可维护性方面得到迅速的发展。

基于Android的音乐播放器毕业论文开题报告

基于Android的音乐播放器毕业论文开题报告
2.本课题的基本内容
1.系统学习Android应用软件开发的相关基础知识:用户界面编程、Android组件、Android资源访问、图形/图像处理、事件处理机制、Android输入/输出处理;
2.掌握Android音频/视频多媒体应用开发、网络通信编程、Android平台的Web Service、传感器应用开发、GPS应用开发、Google Map服务等相关技术;
目前手机的音乐播放功能已经是大家比较关注的一个部分了,不少在人在购买手机的时候都会关心手机的音乐播放的能力,这也足以看出目前大家对音乐播放功能的重视,所以一款性能良好的手机音乐播放器软件一定会受到欢迎。和传统的音乐播放器相比,手机播放音乐更加的容易携带,其他方面也都不输于传统音乐播放器,而且还具有网上听音乐功能,所以开发一款受欢迎的手机音乐播放软件是具有良好的市场和应用前景的。不同手机平台的手机,所支持的音乐播放软件也是各不相同,而现在最流行的手机平台就是google的android手机平台,所以本课题就致力于开发出一款基于android手机平台的音乐播放器,来满足用户的使用需求。
2012年4月3日~~2012年5月1日:根据任务要求,完成应用软件的详细设计和程序实现,使用仿真环境,完成测试软件,发现并解决其中存在的问题;
2015年5月1日~~2015年5月20日:完成毕业设计的撰写,答辩。
毕业论文开题报告
指导教师意见:
本课题的任务是完成基于Android的面向智能(手机)终端的应用软件开发,需要系统学习和掌握Android应用软件开发的相关知识:用户界面编程、Android组件、Android资源访问、事件处理机制、Android输入/输出处理等内容,并在Eclipse环境下利用android sdk完成智能(手机)终端音乐播放器。课题的研究要求学生具备较为全面的计算机科学专业知识和较强的知识综合运用能力,此外,还需结合课题研究的要求,重点了解Android应用软件系统及其开发技术、事务处理、设计流程等相关知识。深入学习和较好掌握Eclipse、android sdk、Java等开发工具或技术。完成课题研究涉及的知识深度和广度要求较高,开发工作量适中。

安卓实验三,音乐播放器

安卓实验三,音乐播放器

广东工业大学实验报告信息工程学院电子信息工程专业 2 班成绩评定_______ 学号3110002831 姓名李硕教师签名_______预习情况操作情况考勤情况数据处理情况实验 3 题目本地MP3播放器第_13_周星期_二_第_6-7_节1、打开Eclipse,导入教材第5章例程ServiceDemo;2、在PlayBindMusic界面上分别添加一个ListView控件,用于显示本地SD卡MP3文件;public void musicFileList(){try{if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){sdCardDir = Environment.getExternalStorageDirectory(File home = sdCardDir;if (home.listFiles(new mp3Filter()).length > 0){mMusicFileList.clear(); //清空缓冲for (File file : home.listFiles(new mp3Filter())){mMusicFileList.add(file.getName());}}}}catch(Exception e){e.printStackTrace();}}class mp3Filter implements FilenameFilter{public boolean accept(File dir, String name){return (name.endsWith(".mp3"));}}要将歌曲导入虚拟机的sd卡添加一个进度条,用于显示播放进度;Layout.xml 中添加如下代码<ProgressBarandroid:id="@+id/progressBar1"style="?android:attr/progressBarStyleHorizontal"//要设置为水平进度条android:layout_width="250dp"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentBottom="true"/>Java里面实例化,链接playProgress = (ProgressBar)findViewById(R.id.progressBar1);// 为UI控件绑定事件监听器3、把路径、音乐文件列表作为Intent的Extra属性,再绑定BindMusicService对象;把当前选中要播放的音乐文件的索引号(在ListView中位置编号)作为参数传递给BindMusicService.java 的play(int item )方法;mMusicList=(Object[])intent.getExtras().getSerializable("mMusicList"); currentListItem=(int)intent.getExtras().getInt("currentListItem");mp3Path = intent.getExtras().getString("path");return binder;在主配置文件AndroidManifest.xml中允许SD卡读写权限:<uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>改写PlayBindMusic中connection( )方法,使用意图Intent传递播放列表和路径:Intent serviceIntent = new Intent("com.android.ServiceDemo.bindService");serviceIntent.putExtra("mMusicList", mMusicFileList.toArray());serviceIntent.putExtra("currentListItem", currentListItem);serviceIntent.putExtra("path", sdCardDir.getPath());bindService(serviceIntent, sc, Context.BIND_AUTO_CREATE);4、修改BindMusicService.java的play( )方法,在play方法里创建mediaPlayer,并开始播放;if(mediaPlayer==null){Uri playUri = Uri.parse(mp3Path+"/"+mMusicList[item]);mediaPlayer = MediaPlayer.create(this, playUri);mediaPlayer.start();}if(currentListItem!=item && mediaPlayer != null){currentListItem = item; //更新编号mediaPlayer.release(); //释放旧对象Uri playUri =Uri.parse(mp3Path+"/"+mMusicList[currentListItem]);mediaPlayer = MediaPlayer.create(this, playUri);mediaPlayer.start();}if ((!mediaPlayer.isPlaying()) && mediaPlayer != null) {mediaPlayer.start();}5、添加进度条控制代码,显示播放进度;playProgress.setMax(musicService.GetDuration());playProgress.setProgress(musicService.GetCurrentPosition());。

Android实验报告

Android实验报告

Android实验报告一.实验目的1.掌握Android项目中界面显示的基本方法;2.了解Android手机硬件API的调用方法;3.了解Android系统的资源存储结构;4.在Android平台下音乐播放器的设计开发二.实验环境计算机安装AndroidSDK,Eclipse,Android模拟器三.实验过程1、建立Android工程2、在res -> layout -> main.xml中设置程序界面3、主界面musicActivity设计。

大致的流程是调用父类onCreat函数,隐藏标题栏,设置布局,寻找布局控件,初始化应用,刷新播放列表,绑定监听器,启动服务。

代码如下:关键代码讲解设置布局函数setView()中,先初始化ListView、GridView,完毕后再将其添加到viewPager中从而可以进行滑动切换显示。

代码如下:(图1)图1播放音乐的函数playMusic(String path)函数中的参数为歌曲的路径(包含歌曲的文件名和后缀),返回类型为空,它的作用就是播放该路径的歌曲并且有一个播放完毕的监听器。

所有的歌曲控制指令都写在musicActivity中,Service本身并不负责对歌曲列表的操作,所以,如果播放完毕,则给musicActivity一个切换歌曲的指令。

代码如下:(图2)图2实现歌曲播放的暂停,上一首,下一首,停止等功能。

代码如下:(图3,图4)图3图4四.实验总结通过这次Android播放器的设计,让我更加深一步的了解到Android这门课程的用处与意义。

通过这次程序设计是我自己的Android基础有了更加深入的了解,使自己的知识更加的牢固。

如今社会Android手机的发展可谓是蒸蒸日上,Android技术人员的稀缺,更加使我们这些学习Android技术的人看到的大好的未来。

促使我更加努力的学习Android技术。

五.分工musicActivity的编写以及数据库的建立,同时负责软件后期的调试和修改;Android实验报告班级:计应1301姓名:焦强学号:20139009。

android音乐播放器开题报告

android音乐播放器开题报告

android音乐播放器开题报告Android音乐播放器开题报告一、引言近年来,随着智能手机的普及和移动互联网的发展,人们对于音乐的需求也越来越高。

作为一种重要的娱乐方式,音乐播放器在移动设备上的应用变得越来越重要。

本文将探讨Android音乐播放器的开发,旨在提供一种功能齐全、操作简便的音乐播放器应用。

二、背景随着移动设备的普及,人们越来越倾向于使用智能手机来听音乐。

然而,市面上的音乐播放器应用存在一些问题,如功能不够全面、操作复杂等。

因此,开发一款功能强大、操作简便的Android音乐播放器应用具有重要意义。

三、目标本项目的目标是开发一款Android音乐播放器应用,具有以下特点:1. 功能齐全:能够支持多种音频格式的播放,包括MP3、WAV、FLAC等。

同时,还能够提供歌曲的分类浏览、歌词显示、播放列表管理等功能。

2. 操作简便:用户能够轻松地浏览歌曲、切换播放模式、调节音量等。

同时,还能够提供便捷的搜索功能,使用户能够快速找到自己想听的歌曲。

3. 用户体验优化:通过界面设计和交互方式的优化,提供良好的用户体验。

例如,可以提供自定义主题、背景音乐、睡眠定时等功能,满足用户的个性化需求。

四、开发计划本项目的开发计划如下:1. 需求分析:对用户需求进行深入调研和分析,明确开发目标和功能要求。

2. 技术选型:选择合适的开发语言和框架,如Java和Android Studio。

3. 界面设计:设计直观、美观的用户界面,提高用户体验。

4. 功能开发:根据需求分析,逐步实现各项功能,包括音频播放、歌曲分类、歌词显示等。

5. 测试与优化:对开发的功能进行测试,修复bug并进行性能优化,确保应用的稳定性和流畅性。

6. 发布与推广:将开发完成的应用发布到应用商店,并进行推广,吸引用户下载和使用。

五、预期成果通过本项目的开发,预期将实现以下成果:1. 一款功能齐全、操作简便的Android音乐播放器应用,满足用户对音乐播放的需求。

Android Studio Service编程 音乐播放器

Android Studio Service编程 音乐播放器

广州xx 学院Android 程序设计 实验报告专业班级 计算机181 实验日期__ 2021.5.18_ _ 姓 名 xx 学 号201xx 实验名称 Service 编程 指导老师__ xx _(报告内容包括:实验目的、实验设备及器材、实验步骤、实验数据、图表及曲线处理、实验小结等)。

1. 实验目的(1) 了解如何创建服务;(2) 掌握服务的两种启动方式;(3) 掌握如何使用本地服务通信。

2. 实验要求(1) 使用服务通信,实现音乐播放器功能,实现音乐的播放、暂停、继续播放、退出。

3. 实验步骤(1)导入音乐文件和界面图片之后,开始创建布局,代码如下,效果图如图1-1所示。

<ImageViewandroid :id ="@+id/iv_music"android :layout_width ="240dp"android :layout_height ="240dp"android :layout_gravity ="center_horizontal" android :layout_margin ="15dp"android :src ="@drawable/music"/><SeekBarandroid :id ="@+id/sb"android :layout_width ="match_parent"android :layout_height ="wrap_content" /><RelativeLayoutandroid :layout_width ="match_parent"android :layout_height ="wrap_content"android:paddingLeft="8dp"android:paddingRight="8dp"><TextViewandroid:id="@+id/tv_progress"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="00:00" /><TextViewandroid:id="@+id/tv_total"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:text="00:00" /></RelativeLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:id="@+id/btn_play"android:layout_width="0dp"android:layout_height="40dp"android:layout_margin="8dp"android:layout_weight="1"android:background="@drawable/btn_bg_selector"android:text="播放音乐" /><Buttonandroid:id="@+id/btn_pause"android:layout_width="0dp"android:layout_height="40dp"android:layout_margin="8dp"android:layout_weight="1"android:background="@drawable/btn_bg_selector"android:text="暂停播放" /><Buttonandroid:id="@+id/btn_continue_play"android:layout_width="0dp"android:layout_height="40dp"android:layout_margin="8dp"android:layout_weight="1"android:background="@drawable/btn_bg_selector"android:text="继续播放" /><Buttonandroid:id="@+id/btn_exit"android:layout_width="0dp"android:layout_height="40dp"android:layout_margin="8dp"android:layout_weight="1"android:background="@drawable/btn_bg_selector"android:text="退出" /></LinearLayout>图1-1 界面布局效果图(2)创建背景选择器btn_bg_selector.xml关键代码如下:<selector xmlns:android="/apk/res/android"><item android:state_pressed="true" ><shape android:shape="rectangle"><corners android:radius="3dp"/><solid android:color="#d4d4d4"/></shape></item><item android:state_pressed="false" ><shape android:shape="rectangle"><corners android:radius="3dp"/><solid android:color="#ffffff" /></shape></item></selector>(3)创建MusicService服务关键代码如下所示:public class MusicService extends Service {private MediaPlayer player;private Timer timer;public MusicService() {}@Overridepublic IBinder onBind(Intent intent) {return new MusicControl();}@Overridepublic void onCreate() {super.onCreate();player = new MediaPlayer();//创建音乐播放器对象}public void addTimer() { //添加计时器用于设置音乐播放器中的播放进度条if (timer == null) {timer = new Timer(); //创建计时器对象TimerTask task = new TimerTask() {@Overridepublic void run() {if (player == null) return;int duration = player.getDuration(); //获取歌曲总时长int currentPosition = player.getCurrentPosition();//获取播放进度Message msg = MainActivity.handler.obtainMessage();//创建消息对象//将音乐的总时长和播放进度封装至消息对象中Bundle bundle = new Bundle();bundle.putInt("duration", duration);bundle.putInt("currentPosition", currentPosition);msg.setData(bundle);//将消息发送到主线程的消息队列MainActivity.handler.sendMessage(msg);}};//开始计时任务后的5毫秒,第一次执行task任务,以后每500毫秒执行一次timer.schedule(task, 5, 500);}}class MusicControl extends Binder {public void play() {try {player.reset();//重置音乐播放器//加载多媒体文件player = MediaPlayer.create(getApplicationContext(),R.raw.music);player.start();//播放音乐addTimer(); //添加计时器} catch (Exception e) {e.printStackTrace();}}public void pausePlay() {player.pause(); //暂停播放音乐}public void continuePlay() {player.start(); //继续播放音乐}public void seekTo(int progress) {player.seekTo(progress);//设置音乐的播放位置}}@Overridepublic void onDestroy() {super.onDestroy();if (player == null) return;if (player.isPlaying()) player.stop();//停止播放音乐player.release(); //释放占用的资源player = null; //将player置为空}}(4)编写界面交互代码关键代码如下:public class MainActivity extends AppCompatActivity implementsView.OnClickListener{private static SeekBar sb;private static TextView tv_progress, tv_total;private ObjectAnimator animator;private MusicService.MusicControl musicControl;MyServiceConn conn;Intent intent;private boolean isUnbind = false;//记录服务是否被解绑@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);init();}private void init() {tv_progress = (TextView) findViewById(_progress);tv_total = (TextView) findViewById(_total);sb = (SeekBar) findViewById(R.id.sb);findViewById(R.id.btn_play).setOnClickListener(this);findViewById(R.id.btn_pause).setOnClickListener(this);findViewById(R.id.btn_continue_play).setOnClickListener(this);findViewById(R.id.btn_exit).setOnClickListener(this);intent = new Intent(this, MusicService.class);//创建意图对象conn = new MyServiceConn();//创建服务连接对象bindService(intent, conn, BIND_AUTO_CREATE); //绑定服务//为滑动条添加事件监听sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, booleanfromUser) { //滑动条进度改变时,会调用此方法if (progress == seekBar.getMax()) { //当滑动条滑到末端时,结束动画animator.pause(); //停止播放动画}}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {//滑动条开始滑动时调用}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) { //滑动条停止滑动时调用//根据拖动的进度改变音乐播放进度int progress = seekBar.getProgress();//获取seekBar的进度musicControl.seekTo(progress); //改变播放进度}});ImageView iv_music = (ImageView) findViewById(R.id.iv_music);animator = ObjectAnimator.ofFloat(iv_music, "rotation", 0f, 360.0f);animator.setDuration(10000); //动画旋转一周的时间为10秒animator.setInterpolator(new LinearInterpolator());animator.setRepeatCount(-1); //-1表示设置动画无限循环}4.运行结果开始播放如图4-1所示图4-15.实验小结通过此次实验,让我了解到了Android中的服务创建,比如下载文件、播放音乐等功能,其中让我学到了一个背景选择器,可以通过这个选择器动态呈现按钮的背景颜色。

android音乐播放器毕业设计

android音乐播放器毕业设计

android音乐播放器毕业设计Android音乐播放器毕业设计随着智能手机的普及,人们对音乐的需求也越来越高。

而作为一名计算机专业的毕业生,我决定选择开发一款Android音乐播放器作为我的毕业设计。

本文将介绍我设计的这款音乐播放器的功能和特点,以及我在开发过程中遇到的挑战和解决方案。

一、功能和特点1. 音乐库管理:用户可以通过该应用管理手机中的音乐文件,包括添加、删除、修改歌曲信息等操作。

同时,应用还支持对音乐文件进行分类、排序和搜索,方便用户快速找到自己想听的歌曲。

2. 播放控制:应用提供基本的音乐播放控制功能,包括播放、暂停、上一曲、下一曲等。

同时,还支持播放模式的切换,如顺序播放、随机播放和单曲循环等。

3. 歌词显示:应用可以自动搜索并显示歌曲的歌词,让用户更加沉浸在音乐中。

同时,还支持手动导入歌词文件,以满足用户个性化的需求。

4. 播放列表:用户可以创建自己的播放列表,将喜欢的歌曲添加到其中,方便随时播放。

同时,还支持对播放列表进行编辑,如添加、删除和排序等操作。

5. 主题切换:应用提供多种主题供用户选择,让用户可以根据自己的喜好来设置界面的外观。

同时,还支持自定义主题,让用户可以根据自己的需求自由设置。

二、挑战和解决方案在开发过程中,我遇到了一些挑战,下面是我解决这些挑战的方案。

1. 音乐文件的扫描和管理:为了能够准确地获取手机中的音乐文件,我使用了Android提供的媒体库API来扫描和管理音乐文件。

通过使用这些API,我能够获取到音乐文件的路径、歌曲信息和封面等数据,从而实现了音乐库管理的功能。

2. 歌词的搜索和显示:为了能够自动搜索并显示歌曲的歌词,我使用了第三方的歌词搜索API。

通过调用该API,我可以根据歌曲的名称和歌手来搜索歌词,并将搜索结果显示在应用中。

同时,为了能够满足用户自定义歌词的需求,我还实现了手动导入歌词文件的功能。

3. 播放控制和界面设计:为了实现播放控制的功能,我使用了Android提供的MediaPlayer类来控制音乐的播放。

基于AndroidStudio的智能音乐播放器设计与开发

基于AndroidStudio的智能音乐播放器设计与开发

基于AndroidStudio的智能音乐播放器设计与开发智能音乐播放器是一种结合了人工智能技术和音乐播放功能的应用程序,它能够通过分析用户的听歌历史、喜好和心情等信息,为用户推荐个性化的音乐列表,提升用户体验。

本文将介绍如何基于AndroidStudio进行智能音乐播放器的设计与开发。

1. 智能音乐播放器的功能需求分析在设计智能音乐播放器之前,首先需要明确其功能需求。

智能音乐播放器通常具备以下功能:音乐播放:支持本地音乐文件和在线音乐的播放功能;播放列表管理:支持创建、编辑、删除播放列表,并能够将歌曲添加到指定的播放列表中;播放模式:支持顺序播放、单曲循环、随机播放等不同的播放模式;播放控制:支持暂停、播放、上一首、下一首等基本的播放控制功能;智能推荐:根据用户的听歌历史和喜好,为用户推荐个性化的音乐列表;歌词显示:支持显示歌曲的歌词,并实现歌词与音乐的同步显示功能。

2. AndroidStudio环境搭建在进行智能音乐播放器的设计与开发之前,需要搭建好AndroidStudio的开发环境。

首先下载并安装AndroidStudio,然后配置好相应的SDK和虚拟设备,确保可以顺利进行Android应用程序的开发。

3. 项目结构设计在AndroidStudio中创建一个新的项目,定义好项目的结构。

通常一个智能音乐播放器项目包含以下几个主要模块:播放器界面模块:负责展示音乐播放器的界面,包括歌曲封面、歌曲信息、进度条等控件;播放控制模块:负责实现音乐的播放、暂停、上一首、下一首等操作;播放列表管理模块:负责管理用户创建的不同播放列表,并实现歌曲的添加、删除等操作;智能推荐模块:负责分析用户听歌历史和喜好,为用户推荐个性化的音乐列表;歌词显示模块:负责解析歌曲的歌词文件,并实现歌词与音乐的同步显示功能。

4. 功能模块实现4.1 播放器界面设计设计一个美观直观的音乐播放器界面是吸引用户使用的关键。

可以在界面上添加歌曲封面展示区域、歌曲信息显示区域、进度条控制区域等元素,提升用户体验。

电子音乐盒的的实习报告

电子音乐盒的的实习报告

实习报告实习岗位:电子音乐盒设计师实习单位:某电子产品研发公司实习时间:2021年6月1日至2021年8月31日一、实习背景及目的随着科技的不断发展,电子产品在人们的生活中扮演着越来越重要的角色。

作为一名电子音乐盒设计师,我希望通过这次实习,了解电子音乐盒的设计原理、生产流程以及市场推广策略,提高自己的专业技能和综合素质,为将来的职业生涯打下坚实的基础。

二、实习内容及收获1. 设计原理学习在实习期间,我参加了公司组织的电子音乐盒设计原理培训课程。

通过学习,我深入了解了电子音乐盒的工作原理、主要部件及其功能,如音源模块、音量控制模块、发声模块等。

此外,我还学习了如何根据不同的使用场景和用户需求,进行有针对性的设计。

2. 生产流程实习在生产车间,我跟随导师参观了电子音乐盒的生产线,并了解了各个环节的工作内容。

从原材料采购、加工制造、组装、调试到品质检验,我亲眼见证了电子音乐盒从无到有的过程。

这使我更加明白了电子产品生产的严谨性和团队协作的重要性。

3. 市场推广策略研究为了了解电子音乐盒的市场状况,我参加了公司市场部门的调研活动。

通过调查问卷、访谈等方式,我收集了消费者的需求和意见,并分析了竞品的市场表现。

根据这些数据,我为公司提出了有针对性的市场推广建议,得到了领导的认可。

4. 实践操作与创新在导师的指导下,我参与了电子音乐盒的实际设计工作。

在设计过程中,我充分运用所学知识,对电子音乐盒的音质、外观、功能等方面进行了优化。

同时,我还尝试运用新技术,如智能语音识别、蓝牙连接等,为产品增添更多亮点。

5. 团队协作与沟通在实习期间,我充分体验了团队协作的重要性。

与同事们的沟通交流,使我在设计理念、技术难题等方面得到了很多启发。

此外,我还学会了如何处理团队中的矛盾和冲突,提高了自己的沟通协调能力。

三、实习总结通过这次实习,我对电子音乐盒的设计、生产、市场推广等环节有了更深入的了解,收获颇丰。

同时,我也认识到自己在专业知识和实践能力方面的不足,明确了今后的学习方向。

软件工程android安卓音乐播放器毕业实习报告

软件工程android安卓音乐播放器毕业实习报告

软件工程android安卓音乐播放器毕业实习报告软件工程android安卓音乐播放器毕业实习报告目录一、引言 (2)1.1 项目背景 (2)1.2 安卓介绍 (2)1.3 安卓组件介绍 (3)1.4 安卓XML文件的使用 (4)1.5 编写目的 (5)第二章系统功能简介 (6)2.1 功能需求分析 (6)2.1.1 播放器的基本控制需求 (6)2.1.2声音控制的程序流程图 (7)2.2 系统性能需求 (7)2.3 运行环境需求 (8)第三章程序详细设计 (9)3.1 程序界面设计 (9)3.2程序音乐文件过滤 (11)3.3 程序界面Activity类的设计 (11)3.4 音乐播放核心代码 (12)第四章程序设计结果及测试分析 (14)4.1 程序运行效果图 (14)4.2 程序调试过程 (14)总结 (15)实习日记 (i)一、引言1.1 项目背景当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,symbian,Windows mobile,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。

那么能否在手机上拥有自己编写的个性音乐播放器呢?答案是:肯定的,谷歌Android系统就能做到。

本文的音乐播放器就是基于谷歌Android 手机平台的播放器。

Android:是谷歌于2007年公布的开放式源代码手机系统,它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。

这使得越来越多的人关注这个操作系统。

本次作品音乐播放器就是基于Android平台的。

随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。

于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。

嵌入式系统设计实习报告-安卓音乐播放器设计报告

嵌入式系统设计实习报告-安卓音乐播放器设计报告

机械与电子工程学院嵌入式系统设计实习报告题目:简易音频播放器设计目录第一章引言 (3)1.1课题研究目的 (3)1.2课题研究意义 (3)1.3课题可行性分析 (3)1.3.1课题调研 (3)1.3.2可行性分析 (3)第二章开发环境安装和配置 (4)2.1开发包及其工具介绍 (4)2.2Android开发平台搭建步骤 (4)第三章程序逻辑架构 (5)3.1程序工程结构图 (5)3.2工程各文件简介 (5)3.2.1程序源文件夹src简介 (5)3.2.2程序外部资源文件夹res简介 (6)3.2.3其他文件简介 (7)第四章程序设计 (8)4.1主界面musicActivity设计 (8)4.1.1onCreat函数 (8)4.1.2关键代码讲解 (8)4.2音乐播放服务LocalService设计 (10)4.2.1onCreat函数 (10)4.2.2关键代码讲解 (10)4.3数据库Helper类MusicListdbHelper设计 (11)4.3.1构造函数MusicListdbHelper (11)4.3.2关键代码讲解 (11)第五章程序测试 (13)第六章分工与总结 (14)第一章引言1.1 课题研究的目的1.熟悉一下eclipse工具和安卓的环境配置及开发的过程;2.熟练掌握java的组件如button,textview,listView,menu等组件的灵活应用;3.熟练掌握安卓的一个关于数据保存的方式SQLite3;4.锻炼一下自己遇到问题,然后解决问题的能力。

1.2 课题研究的意义随着3G技术的成熟和智能手机的不断普及,移动应用的需求与日俱增,移动应用开发成为当下最热门的技术之一。

在google和android手机联盟的共同推动下,android在众多移动应用开发平台中脱颖而出。

Android操作系统是google最具杀伤力的武器之一。

苹果以其天才的创新,使得iphone 在全球迅速拥有了数百万忠实的“粉丝”,而android作为第一个完整、开放、免费的手机平台,使开发者在为其开发程序时拥有更大的自由。

基于Android的手机音乐播放器的开题报告 2100字

基于Android的手机音乐播放器的开题报告 2100字

三一文库()〔基于Android的手机音乐播放器的开题报告 2100字〕音乐播放器详细说明系统设计的过程及部分界面图和主要功能运行流程图,同时本文对过程中遇到的问题和解决方案进行了详细的研究,Adroid音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示等功能于一体,性能良好。

能够独立运行在Adroid系统的移动设备上。

该播放器还可以对手机文件进行浏览和访问。

MP3文件的全名是MPG Audio Layr-3是一种声音文件的压缩格式的文件。

2.课题研究的基本内容及预期目标或成果安卓一词的本来是指“机器人”,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件。

安卓以java为编程语言,使接口到功能,都有层次不穷的变化。

在研究实施的过程中,最终研究成果以论文为主。

同时能通过在模拟器或真机上运行该程序,用户可以对Adroid音乐播放器进行相关操作。

运行该程序之后,首先显示用户播放器后的欢迎界面,用户可以在菜单中选择添加歌曲、查找歌曲,点击播放,该程序跳转到音乐播放界面。

在音乐播放期间,用户也可以选择菜单上的菜单项,查看歌曲详细信息或按照自己的喜欢选择播放模式。

本程序具有良好的界面风格,方便简单,便于使用管理。

3.课题的研究方案(拟采用的研究方法、技术路线、试验方案)基于Adroid的音乐播放器是当下手机应用市场中较为流行的一种音乐播放软件,Adroid操作系统的完全开发正是给了开发者一个很好的平台,结合自己所学的知识设计一个基于Adroid音乐播放器可以学习到当下流行的计算机开发技术,掌握最新的知识,也可以丰富自我,享受休闲的娱乐生活。

操作系统:Adroid手机基于Liux操作系统支持环境:Adroid1.5-4.0.1版本开发环境:clips 8.5版本实现功能:(1)文件浏览:实现对用户存储空间内歌曲的浏览和查询。

(2)播放器管理:对歌曲进行添加、删除、播放等操作。

(完整word版)android实验报告范文模板

(完整word版)android实验报告范文模板

(完整word版)android实验报告范文模板移动应用开发实验报告实验名称音乐播放器班级学号姓名指导教师实验成绩2022年04月一、实验目的本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。

使人们的生活更加多样化。

也使设计者更加熟练Android的技术和其它在市场上的特点。

二、实验内容及要求在其中写清楚这个实验具体要你做什么,怎么做,要达到什么样的效果等。

本设计实现的主要功能是播放Mp3,Wav多种格式的音乐文件,并且能够控制播放,暂停,停止,,下一首,上一首播放列等基本播放控制功能,界面简明,操作简单。

三、实验方案设计在其中写清楚你的程序的详细设计,用流程图配文字的形式描述。

如果其中涉及到算法,一定要把算法阐述清楚。

3.1.1假设安装了音乐播放器的用户是系统的主要设计对象,其拥有以下操作,启动软件、播放音乐、暂停播放、停止播放、退出软件,其用例图如下图2.1播放器基本用例图3.1.2用例分析2用例名称:启动软件参与者:用户目标:使得用户启动软件并加载手机和d卡上的音频文件到播放列表前置条件:无基本事件流:1.用户启动软件2.播放器将播放列表中的当前的歌曲用例名称:播放参与者:用户目标:使得用户可以播放在播放列表中选中的歌曲前置条件:播放器正在运行基本事件流:1.用户单击“播放”按钮2.播放器将播放列表中的当前的歌曲用例名称:暂停参与者:用户目标:使得用户可以暂停正在播放的歌曲前置条件:歌曲正在播放且未停止和暂停基本事件流:1.用户单击“暂停”按钮2.播放器将暂停当前的歌曲④用例名称:停止参与者:用户目标:使得用户可以停止正在播放的歌曲前置条件:歌曲正在播放或暂停基本事件流:1.用户单击“停止”按钮2.播放器将停止当前播放的歌曲⑤用例名称:推出参与者:用户目标:使得用户退出或者后台播放音乐前置条件:程序在运行基本事件流:1.用户按返回键2.播放器退出或者进入后台播放四、实验测试Step1.启动软件后,软件自动检索手机和d卡的音频文件,并组织显示成列表.Step2.点击列表的歌曲名字。

Android音乐播放器开发文档

Android音乐播放器开发文档

多媒体综合课程设计报告课题名称:ANDROID音乐播放器姓名:***学号:**********2011年10月31日目录1需求分析..................................... 错误!未定义书签。

1.1问题定义........................................................................................................ 错误!未定义书签。

1.2 可行性研究.............................................................................................. 错误!未定义书签。

1.3 需求分析.................................................................................................. 错误!未定义书签。

1.4总体设计 ....................................................................................................... 错误!未定义书签。

2. 概要设计................................... 错误!未定义书签。

2.1引言 (6)2.1.1................................................................................................................................ 编写目的62.1.2....................................................................................................................................... 背景62.1.3................................................................................................................................ 术语定义62.1.4................................................................................................................................ 参考资料62.2总体设计 (6)2.2.1 ....................................................................................................................... 总体技术框架62.2.2 ................................................................................................................ 需求与设计对应表62.3功能设计................................... 错误!未定义书签。

基于Android系统的音乐播放器的设计与实现毕业论文(2)

基于Android系统的音乐播放器的设计与实现毕业论文(2)

基于Android系统的音乐播放器的设计与实现摘要:进入21世纪的数字时代,网络发展十分的迅猛,在现今工作压力大的社会下,娱乐随之兴起,各种各样的网络游戏、娱乐软件像雨后春笋一样以不断更新的方式进入我们的生活,丰富了我们的业余时间。

这些游戏能在不同的操作平台上进行安装,且其安装、操作简单适合每一位玩家,让所有的玩家都能畅玩一番。

然而在所有的操作系统中,Android系统无疑不是其首选的。

在Android平台上发布的酷狗、酷我、百度影音等等播放器,以其简单快捷的操作,好看的画面,舒适的结构,强大的功能所折服我们。

本文通过Android技术的研究,实现了自主设计的一款音乐播放器,完成了本地音乐的加载、最近音乐播放的加载、正在播放页面的实现、上一曲、下一曲、暂停、播放、继续播放、进度条、时间显示等等这些功能。

本款音乐播放器采用TabHost进行总框架的布局,其他部分则采用相应的布局方式,使这款播放器看上去丰富,形象点。

同时这款播放器操作简单、实用、结合了Android课中所学到的很多知识,即对知识的一个总结。

本音乐播放器的设计遵循企业软件的工程思想,开始模拟了客户来公司洽谈某项业务,完成需求分析、界面设计、编写代码、进一步社交、产品的维护、用户需求。

这一系列的流程来一步步的制作这款播放器。

关键字:Android、播放器、客户、操作、流程Abstract:Digital era in twenty-first Century, network development is very rapid, in today's stressful society, along with the rise of various kinds of entertainment, network game,entertainmentsoftware like bamboo shoots after a spring rain as to continuously update the way into our lives,enrichour spare time. These games can be installed in different operating platform, and its installation, operation is simple and suitable for every game player, let all thegame player can play a.However, all of the operating system, the Android systemis not the preferred. Published in the Android platform on the cool dog, cool, and so on Baidu video player, with itssimple andquick operation, beautiful pictures, comfortablestructure, powerful function by us. In this paper, through the research of Android technology, realizes anindependent design and music player, the local musicloading, recently playing music, playing loading page realization, a song, the nextsong, play, pause, continue to play, a progress bar, time display and so on thesefunctions. The music player using TabHost frame layout,the other part is the corresponding arrangement way,make theplayer look rich, image point. At the same time,the player has the advantages of simpleoperation,practical, combined with a lot of knowledge learned inAndroid class, or a summaryof knowledge. The design of the music player follows the business softwareengineering thought, began to simulate the customers to the company to discuss some business, complete therequirementanalysis, interface design, code, furthersocial, product maintenance, user demand. This a series ofthe process step by step, making the player.Key Words:Android 、Player、Customer、Operation、Process目录第1章绪论 (3)1.1A NDROID简介及其开发背景 (4)1.2本课题内容的概述 (5)1.3本课题的目的及意义 (5)第2章开发工具的简介 (5)2.1什么是E CLIPSE? (5)2.2JDK的下载与安装 (8)2.3E CLIPSE的下载与安装 (11)2.4E CLIPSE中A NDROID SDK插件的下载与安装 (12)第3章 ANDROID的基本结构 (17)3.1A NDROID 的基本框架 (17)3.2A NDROID系统的四大组件 (19)3.3A NDROID音乐播放器的详细设计思想 (20)第4章本系统内容需求 (21)4.1实现的内容需求 (21)4.2播放器实现的目标 (22)4.3播放器的基本控制需求 (22)4.4功能需求分析 (23)第5章 ANDROID的项目介绍 (25)5.1本地音乐列表界面 (25)5.2正在播放界面 (26)5.3退出播放器界面 (29)5.4A NDROID M ANIFEST.XML文件介绍 (30)第6章 ANDROID模拟器读取SD卡中音频文件的实现 (30)6.1怎样在模拟器中添加音频文件并读取 (30)6.2SD卡的创建 (30)6.3向SD卡里面上传文件 (31)6.4手机SD卡音频文件读取的代码 (31)第7章软件测试 (31)7.1软件测试环境 (31)7.2测试阶段 (31)7.3测试要点和总结 (32)7.4测试结果 (32)结束语 (33)参考文献 (34)致谢 (34)第1章绪论1.1 Android简介及其开发背景Android一词的本意是指“机器人”,同时也是Goolge与2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。

MusicSpaceII(安卓项目开发报告,简易安卓音乐播放器)

MusicSpaceII(安卓项目开发报告,简易安卓音乐播放器)

设计:这里用事件监听来实现播放按钮触发播放音乐的事件(其他按钮也是通过事件监听来 实现这个功能的)。 关于java的事件监听: Java中的事件监听是整个Java消息传递的基础和关键。牵涉到两类对象:事件发生者和事件 监听者。事件发生者是事件的起源,它可以是一个按钮,编辑框等。事件监听者就是事件的 接受者,如果要想接收某个事件,它必须对该事件的发生者说一声(即在事件类里面设置一 个XXXListener()函数)。这个过程相当与在事件发生者那儿注册了一下。当事件发生者真 的有事件发生时,就会对所有对该事件注册的所有监听者送一份参考消息(例如:返回一个 参数值)。事件监听者收到后,根据这份消息各自执行各自的功能。参考消息就是java中的 事件对象。 目录 首页
•页面布局(虚拟按键):第一行:显示音乐列表,播放音乐,暂停播放,停止播; 第二列:上一曲,音量减,音量加,下一曲。
界面设计
代码: //第一行按钮 <TableRow android:layout_width="match_parent" android:layout_height="wrap_content" > //显示音乐列表按钮 <ImageButton android:id="@+id/file_list" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:contentDescription="@string/hello_world" android:src="@drawable/wenjiandakai" /> 目录 首页
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《开发一个安卓软件报告》报告设计题目:用安卓开发单机音乐盒学院名称:电子与信息工程学院专业:计算机科学与技术班级:计科091姓名:*** 学号03指导教师:***定稿日期:2011年12月26日一、设计任务与要求1、设计目标:(1)了解Java编程的基础知识和数据库知识(2)掌握用android开发应用软件的的一般步骤和方法。

(3) 能够利用所学的基本知识,设计一个完整的音乐播放盒,还可以实现后台播放声音,并且在播放过程中可以通过前台的按钮控制声音的播放、暂停与关闭。

(4)在以上基础上再加一个界面,能够实现跳转,出现一个歌词界面。

2、课程设计的要求:1、用Service组件、BroadcastReceiver组件、Intent、菜单对话框来完成音乐的播放等操作。

2、提交设计报告一份(需求分析、设计的基本思路、设计的步骤及主要代码、心得体会)。

二、系统分析1、需求分析随着android手机的普及和一些小游戏的流行,android开发也日益high了。

现在,大家也都是用手机听音乐了,一个绚丽的、酷酷的音乐盒就可以成为我们炫耀的资本了。

为了符合更多人的喜欢,设计的界面要清晰、美观、大方、并且操作方便。

所以我设计的界面也一定要清晰、美观、大方、并且操作方便。

2、模块分析(1)在layout文件中增加一个歌词的界面songwords.xml并画好界面,还要在mail.xml中画好界面。

(2)在raw文件中放入歌曲。

<string name="myTextView1">我爱他</string><string name="myTextView2">叮当</string><string name="swords">歌词</string><string name="words">他的轻狂留在某一节车厢地下铁里的风比回忆还重···省部分歌词···若那一刻重来我不哭让他知道我可以很好</string>(3)在values文件中的string中添加所要用到的字符串。

(4)在src文件中的文件中的Sample_9_3.java中定义一些按钮和转换的方法,在MyService.java中实现了按钮,在songwords.java中实现了歌词那个界面的功能。

三、系统设置1、功能设计这个播放器可以实现播放,暂停,停止和歌词界面跳转功能。

在刚打开音乐盒的时候,是播放状态,按一下暂停按钮,音乐停止播放,且暂停按钮的图像变为播放按钮的图像;此时再按一下播放按钮,音乐继续;无论音乐在播放状态还是暂停状态,只要按一下停止按钮,音乐就会被关闭;当音乐在播放时,按歌词按钮,就会跳转到当前播放的歌的歌词界面,且音乐继续在播放;如果退出音乐盒这个界面,音乐也还是再继续的。

而且在还没有跳转的时候,按菜单栏就会出现退出前台的按钮了。

2、界面设计第一个界面总体分为上、下两层,第一层主要分三个部分,把播放按钮和暂停按钮重叠的放在第一部分,把停止按钮放在第二部分,第三部分又划分成上、下两个部分,上面放歌曲的名称,下面放歌曲的演唱者;第二层只有一个按钮,跳转到歌词界面的功能。

<?xml version="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><LinearLayoutxmlns:android="/apk/res/android"android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="wrap_content"><ImageButtona ndroid:id="@+id/start"a ndroid:layout_width="wrap_content"a ndroid:layout_height="wrap_content"a ndroid:src="@drawable/png2"/><ImageButtona ndroid:id="@+id/stop"a ndroid:layout_width="wrap_content"a ndroid:layout_height="wrap_content"a ndroid:src="@drawable/png1"/><LinearLayoutxmlns:android="/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewa ndroid:id="@+id/textView1"a ndroid:layout_width="wrap_content"a ndroid:layout_height="wrap_content"a ndroid:textSize="25px"a ndroid:textColor="#ffffff"a ndroid:ellipsize="marquee"a ndroid:layout_weight="1"a ndroid:marqueeRepeatLimit="marquee_forever"a ndroid:text="@string/myTextView1"/><TextViewa ndroid:id="@+id/textView2"a ndroid:textSize="15px"a ndroid:gravity="center_vertical"a ndroid:layout_weight="1"a ndroid:layout_width="wrap_content"a ndroid:layout_height="wrap_content"a ndroid:text="@string/myTextView2"/></LinearLayout></LinearLayout><Buttonandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/swords"android:id="@+id/swords"></Button></LinearLayout>第二个界面也分为上、下两层,第一层就是用来放歌词的;第二层有一个返回按钮,可以返回到第一个界面。

<LinearLayoutxmlns:android="/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/words"android:textSize="15px"android:textColor="#FF00FF"android:id="@+id/words"></TextView><Buttonandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="返回"android:id="@+id/back"android:onClick="@string/swords"></Button>最终的效果是:四、个人总结这个音乐盒虽然比较简单,但是是我自己用这个学期所学到的知识来完成的,有我自己的心血,让自己觉得自己还不错。

在做实验的过程也遇到了问题,毕竟所学的知识不是很深,问了在暑假所过的同学很多问题,终于完成了。

在做音乐盒的过程中,先前想得很简单,只要它能播放、暂停、停止就可以了。

后来想想要是可以看到歌词就好了,所以才加的歌词那个界,还把字体设置成了自己喜欢的枚红色。

本来还想在歌词按钮的下面再加一个列表,来显示所有的歌曲名及其演唱者,但是自己的知识还是太少了,没能把它实现。

不过还是会再接再砺的。

五、附录:代码4、修改Music.java源代码:public class Music extends Activity implements OnClickListener{ ImageButton start;//播放、暂停按钮ImageButton stop;//停止按钮private Button swords;ActivityReceiver activityReceiver;int status = 1;//当前的状态,1没有声音播放 ,2 正在播放声音,3暂停/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {//重写的onCreate方法super.onCreate(savedInstanceState);setContentView(yout.main);//设置当前的用户界面start= (ImageButton) this.findViewById(R.id.start);//得到start的引用stop = (ImageButton) this.findViewById(R.id.stop);//得到stop按钮的引用swords = (Button) this.findViewById(R.id.swords);start.setOnClickListener(this);//为按钮添加监听stop.setOnClickListener(this);//为按钮添加监听swords.setOnClickListener(this); activityReceiver = new ActivityReceiver();//创建BroadcastReceiverIntentFilter filter = new IntentFilter();//创建IntentFilter过滤器 filter.addAction("wyf.ytl.update");//添加ActionregisterReceiver(activityReceiver, filter);//注册监听Intent intent = new Intent(this, MyService.class);//创建IntentstartService(intent);//启动后台Service}public class ActivityReceiver extends BroadcastReceiver{//自定义的BroadcastReceiver@Overridepublic void onReceive(Context context, Intent intent) {//重写的onReceive方法// TODO Auto-generated method stubint update = intent.getIntExtra("update", -1);//得到intent中的数据switch(update){//分支判断case 1://没有声音播放status = 1; //设置当前状态break;case 2://正在播放声音start.setImageResource(R.drawable.png3);//更换图片status = 2; //设置当前状态break;case 3://暂停中start.setImageResource(R.drawable.png2);//更换图片status = 3; //设置当前状态break;}}}@Overridepublic void onClick(View v) {//接口中的方法// TODO Auto-generated method stubIntent intent = new Intent("wyf.ytl.control");//创建Intentswitch(v.getId()){//分支判断case R.id.start://按下播放、暂停按钮intent.putExtra("ACTION", 1);//存放数据sendBroadcast(intent);//发送广播break;case R.id.stop://按下停止按钮intent.putExtra("ACTION", 2);//存放数据sendBroadcast(intent);//发送广播break;case R.id.swords:Intent intent2=new Intent();intent2.setClass(this, Songwords.class);startActivity(intent2);}}@Overrideprotected void onDestroy() {//释放时被调用// TODO Auto-generated method stubsuper.onDestroy();Intent intent = new Intent(this, MyService.class);//创建Intent stopService(intent);//停止后台的Service}@Overridepublic boolean onCreateOptionsMenu(Menu menu){//弹出菜单menu.add(0,Menu.FIRST,0,"退出").setIcon(R.drawable.ic_menu_delete);//设置图标return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item){//选择的菜单项switch(item.getItemId()){//分支判断case Menu.FIRST:showDialog(1);//显示对话框break;}//将来可在此进行扩展return false;}@Overrideprotected Dialog onCreateDialog(int id){//创建对话框switch(id){//判断case 1:return new AlertDialog.Builder(this).setTitle("您确定退出?").setPositiveButton("确定", newandroid.content.DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubSystem.exit(0);//直接退出}}).setNegativeButton("取消", null)//取消按钮.create();default:return null;}}}5、修改Myservice.java源代码:package wyf.ytl;public class MyService extends Service{MediaPlayer mp;ServiceReceiver serviceReceiver;int status = 1;//当前的状态,1没有声音播放 ,2 正在播放声音,3暂停@Overridepublic IBinder onBind(Intent intent) {//重写的onBind方法// TODO Auto-generated method stubreturn null;}@Overridepublic void onCreate() {//重写的onCreate方法,会在Service创建时被调用// TODO Auto-generated method stubstatus = 1;serviceReceiver = new ServiceReceiver();//创建BroadcastReceiverIntentFilter filter = new IntentFilter();//创建过滤器filter.addAction("wyf.ytl.control");//添加ActionregisterReceiver(serviceReceiver, filter);//注册BroadcastReceiversuper.onCreate();}@Overridepublic void onDestroy() {//重写的onDestroy方法// TODO Auto-generated method stubunregisterReceiver(serviceReceiver);//取消注册super.onDestroy();}public class ServiceReceiver extends BroadcastReceiver{//自定义BroadcastReceiver@Overridepublic void onReceive(Context context, Intent intent) {//重写的响应方法// TODO Auto-generated method stubint action = intent.getIntExtra("ACTION", -1);//得带需要的数据switch(action){case 1://播放或暂停声音if(status == 1){//当前没有声音播放mp = MediaPlayer.create(context, R.raw.nx);status = 2;Intent sendIntent = new Intent("wyf.ytl.update");sendIntent.putExtra("update", 2);sendBroadcast(sendIntent);mp.start();}else if(status == 2){//正在播放声音mp.pause(); //停止status = 3;//改变状态Intent sendIntent = new Intent("wyf.ytl.update");sendIntent.putExtra("update", 3);//存放数据sendBroadcast(sendIntent);//发送广播}else if(status == 3){//暂停中mp.start();//播放声音status = 2;//改变状态Intent sendIntent = new Intent("wyf.ytl.update");sendIntent.putExtra("update", 2);//存放数据sendBroadcast(sendIntent);//发送广播}break;case 2://停止声音if(status == 2 || status == 3){//播放中或暂停中mp.stop();//停止播放status = 1;//改变状态Intent sendIntent = new Intent("wyf.ytl.update");sendIntent.putExtra("update", 1);//存放数据sendBroadcast(sendIntent);//发送广播}}}}}6、增加Songwords.java的源代码:public class Songwords extends Activity implements OnClickListener{ private TextView view_words;private Button back;private void findViews(){back = (Button) findViewById(R.id.back);v iew_words = (TextView) findViewById(R.id.words);}@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(yout.songwords);findViews();showSongwords();Intent intent =getIntent();}private void showSongwords(){Bundle receive = this.getIntent().getExtras();view_words.setText(R.string.words);back.setOnClickListener(this);}@Overridepublic void onClick(View v) {Intent intent=new Intent();intent.setClass(this, Sample_9_3.class);startActivity(intent);}}。

相关文档
最新文档