基于Android 系统的音乐播放器设计与实现
- 格式:doc
- 大小:182.33 KB
- 文档页数:12
基于Android 系统的音乐播放器设计及实现 实验报告一、实验要求:本课程设计的目的是开发一个可以播放主流音乐文件格式的播放器的播放功能模块,要求音乐播放器能够播放Mp3,Wav 多种格式的音乐文件,能够控制播放,暂停,重播,停止,要求视觉外观美观,操作简单。
二,设计思想 首先查找相关书籍及文献,了解Android 的构架并搭建Android 开发平台。
查找相关资料,了解现阶段基于Android 平台手机音乐播放器发展现状以及相关功能。
播放器基本拥有以下功能:播放本地音乐文件对播放的状态进行控制播放设置,开始暂停停止三,系统结构四、数据结构的说明和模块的算法流程图五、使用说明书菜单有6个功能:播放,暂停,停止,重播。
运开音乐播放器音乐播设定播放界开始 暂停停止播放功能:点击后事件触发,传入歌曲名字,让程序操作该名字进行播放。
暂停功能:点击后事件触发,歌曲暂停播放。
停止功能:点击后事件触发,歌曲停止播放。
重播功能;点击后事件触发,歌曲重新播放。
六、运行结果和结果分析作为Android平台上开发的应用软件,本设计具备及用户交互的界面,界面简洁美观易于操作。
作为一款在线音乐客户端,提供给用户在线选歌的方便,提供在线播放歌曲的即时信息,如歌曲名,歌手名,时长等等。
七、我评价及总结现如今社会生活节奏日益加快,人们在忙碌的生活中欣赏音乐是最好的舒缓压力的方式之一。
随着移动设备的日益完善,我们大家都已经有了在手机上听自己喜欢歌曲的习惯,以往的做法是用数据线或者蓝牙等无线设备将PC上的歌曲复制几首到手机当中,反反复复的听,等到听厌了以后,再次装一些歌曲进去,如此反复,非常的麻烦。
因此,如果在我们的手机上能实现在线听歌,这将会带来极大的方便。
本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,是手机显得更生动灵活化,及人们更为方便,让手机主人随时随地处于音乐的旋律之中。
河北农业大学本科毕业论文题目:基于Android的音乐播放器的设计与实现摘要当今社会的生活节奏越来越快,随着移动硬件设备越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉效果,因此,也逐步提高了对系统的要求。
本文主要是对Android系统上一的款音乐播放器应用程序的设计与实现进行讨论。
Android平台是Google公司推出的一个手机平台,它是一个开源的系统,它底层是基于Linux的操作系统,本论文以Android开发平台为基础,首先介绍了安卓平台的发展以及当前国内外的发展现状。
然后对安卓技术做了一个详细介绍,之后对基于Android平台的音乐播放器做了一个详细的需求分析,在需求分析后详细论述了音乐播放器的详细设计。
根据Android开发平台自身的结构特点,把音乐播放器的开发分为两个部分来进行分析和设计,一部分是窗口的设计,住要是定义窗口的属性和关联窗口的处理函数;另一部分是功能的实现,主要是结合Android平台提供的资源和对音乐播放器的功能分析最终实现定义的功能。
关键词:安卓;开源系统;音乐播放器AbstractThe pace of life today’s society ,with more advanced hardware mobile devices for mobile devices ,people more and more is also high ,the requirements from the previous pursuit to pursuit the visual technology,therefore,also gradually improve the system requirements ,the paper mainly is to take on music player from system design and realization of the application is discussed.Android platform is Google’s latest launch of mobile platform ,the system is an open source ,it is based on Linux systems using the Linux kernel .This article takes the Android development ,as well as the current domestic and foreign development present situation .After the discussion of rational above ,this article introduces the main technology of Android ,makes a detailed demand analysis to Music player ,then this article gives a detailed software design of Music player .Based on the Android developing platform’s feature .I divide the Music player’s development into two parts to analyze and design .One part is the window design ,mainly defines the window attribute and the connected window processing function ;Another part is function realization ,mainly unifies the resources which Android platform provides and function analysis to Music player to accomplish the function which we defined.Keywords: Android; Open source system; music player目录1 绪论 (1)1.1 项目目的及意义 (1)1.2 对国内外现状的研究 (1)1.3 论文组织结构 (2)2 安卓工程技术介绍 (3)2.1 android介绍 (3)2.1.1 Android Features特性 (3)2.1.2 Android基本框架 (3)2.2 安卓应用程序开发的核心技术 (5)2.2.1 Android应用程序开发语言 (5)2.2.2 Android应用程序组件 (5)3 系统需求分析 (7)3.1 软件目标 (7)3.2 软件可行性研究 (7)3.2.1 经济上的可行性 (7)3.2.2 技术上的可行性 (7)3.2.3 操作上的可行性 (7)3.3 功能需求 (7)3.3.1 用例图及用例描述 (8)3.3.2 音乐播放器的时序图 (9)3.3.3 音乐播放器的流程图 (10)3.4 软件规格说明 (10)3.5 运行环境 (11)4 系统设计 (12)4.1 界面设计 (12)4.2 功能设计 (12)4.2.1 音乐列表设计 (12)4.2.2 音乐播放设计 (13)4.2.3 音乐播放模式设计 (14)4.2.4 歌词设计 (14)5 系统实现 (15)5.1 音乐播放列表 (15)5.1.1 音乐列表界面 (15)5.1.2 获取手机中歌曲文件信息 (15)5.1.3 在列表显示界面中显示音乐 (16)5.2 音乐播放和播放的service实现 (18)5.2.1 音乐播放界面 (18)5.2.2 实现service后台音乐播放 (19)5.3 音乐播放模式设置 (23)5.3.1 播放模式设置界面 (23)5.3.2 进行播放模式选择 (24)5.4 歌词处理和显示 (25)5.4.1 歌词显示模块 (25)5.4.2 歌词解析模块 (26)6 总结 (29)参考文献 (30)致谢 (31)1 绪论1.1 项目目的及意义现今生活节凑快,生活紧张,在日常休息之余,欣赏音乐是最好的舒缓压力的方式之一。
基于Android音乐播放器的设计与实现专科毕业设计(论文)题目基于Android的音乐播放器设计与实现姓名苏闹专业计算机应用技术学号 23011指导教师黄海燕郑州科技学院信息工程学院二○一五年五月22020年4月19日目录摘要 (Ⅰ)Abstract (Ⅱ)前言 (Ⅲ)1. 项目来源及开发目的和意义 (1)1.1 项目来源 (1)1.2 项目开发目的和意义 (2)2. 音乐播放器开发及应用现状分析 (3)2.1操作和全面是关键 (3)2.2 Android音乐播放器的音质分析 (4)3. 需求分析及总体设计方案 (5)3.1 主要开发内容 (5)3.2 需求分析 (5)3.2.1 界面设计模块功能需求 (6)3.2.2 后台通讯模块功能需求 (13)3.2.3 文件夹选择模块功能需求 (13)3.3 总体设计方案 (13)3.3.1 页面设计模块结构 (13)3.3.2 后台通讯模块结构 (13)3.3.3 文件夹选择模块结构 (14)4. 开发环境和开发工具 (14)4.1 开发语言 (14)4.2 开发工具 (14)4.3 开发环境 (14)5. 项目进度安排、预期达到的目标 (15)5.1 进度安排 (15)5.2 预期达到的目标 (15)5.2.1 功能预期目标 (15)5.2.1 性能预期目标 (15)5.2.1 其它预期目标 (15)6. 完成项目所需的条件和经费 (16)7. 预见的困难及应对措施 (17)总结 (19)致谢 (20)参考文献 (21)基于Android音乐播放器的设计摘要在Goolge的正确领导下,Android开源系统以迅雷不及掩耳之势,横扫各大移动端系统,成为拥有用户数量最多的系统,音乐播放类的软件数不胜数,为什么我还要再写一个播放器出来呢?因为现有的音乐播放器功能实在是有些多了,多未必不好,可是我总想要一个干净纯粹的音乐播放器,只为听歌的播放器,一个有着一些自己想要的功能的播放器,比如“切歌”,一个自己熟悉代码的播放器,甚至,一个能够自定义功能结构的音乐播放器。
基于Android音乐播放器的设计与实现Android音乐播放器的设计与实现是当前移动应用开发中的一个重要方向。
本论文将从以下几个方面进行探讨:背景及研究现状,需求分析,架构设计,实现过程,优化和总结。
一、背景及研究现状Android平台的普及和移动音乐的普及使得Android音乐播放器的设计和实现变得越来越重要。
目前市面上有很多的音乐播放器,但大多数都具有相似的功能,缺乏特色。
而基于Android音乐播放器的设计与实现一定程度上可以满足用户的个性化需求,提高用户体验。
二、需求分析在进行Android音乐播放器的设计与实现之前,我们需要考虑用户的需求。
用户对于音乐播放器的主要需求包括以下几个方面:能够播放多种格式音频文件,可以实现音频的在线搜索与下载,具有良好的用户界面和操作性,支持自定义播放列表,提供自动分类和推荐功能,支持在线歌词显示等等。
三、架构设计Android音乐播放器的核心需求是能够播放音乐,因此在架构设计上,我们需要将播放音乐的功能放在核心位置。
同时,由于Android音乐播放器的多样性和用户需求的多样性,我们需要支持插件化和模块化开发,以适应多种场景的需求。
此外,我们可以采用MVP(Model-View-Presenter)架构,以达到模块清晰、逻辑清晰和可扩展性强等特点。
四、实现过程具体实现过程中,我们需要选择开发工具、选择合适的开源框架,实现各项功能模块等。
在具体功能模块上,我们可以采用以下几种方法实现:使用MediaPlayer类实现音频播放、使用OkHttp框架实现网络请求、使用RxJava框架实现异步处理,使用SQLite实现数据存储等。
五、优化在完成Android音乐播放器的实现之后,我们需要进行一系列的持续性优化,以提高应用的使用体验和性能。
具体可以采用以下几种方法:压缩图片,优化布局,使用缓存等。
此外,我们还需要进行持续性的版本迭代,以满足不断变化的用户需求。
六、总结本论文主要讨论了基于Android音乐播放器的设计与实现,从背景及研究现状、需求分析、架构设计、实现过程、优化以及总结等方面进行了探讨。
基于Android 系统的音乐播放器设计与实现实验报告一、实验要求:本课程设计的目的是开发一个可以播放主流音乐文件格式的播放器的播放功能模块,要求音乐播放器能够播放Mp3,Wav多种格式的音乐文件,能够控制播放,暂停,重播,停止,要求视觉外观美观,操作简单。
二,设计思想首先查找相关书籍与文献,了解Android的构架并搭建Android开发平台。
查找相关资料,了解现阶段基于Android平台手机音乐播放器发展现状以及相关功能。
播放器基本拥有以下功能:播放本地音乐文件对播放的状态进行控制播放设置,开始暂停停止三,系统结构音乐播放器设定播放界面开始暂停停止四、数据结构的说明和模块的算法流程图运行音乐播放器主界面开始暂停结束五、使用说明书菜单有6个功能:播放,暂停,停止,重播。
播放功能:点击后事件触发,传入歌曲名字,让程序操作该名字进行播放。
暂停功能:点击后事件触发,歌曲暂停播放。
停止功能:点击后事件触发,歌曲停止播放。
重播功能;点击后事件触发,歌曲重新播放。
六、运行结果和结果分析作为Android平台上开发的应用软件,本设计具备与用户交互的界面,界面简洁美观易于操作。
作为一款在线音乐客户端,提供给用户在线选歌的方便,提供在线播放歌曲的即时信息,如歌曲名,歌手名,时长等等。
七、我评价与总结现如今社会生活节奏日益加快,人们在忙碌的生活中欣赏音乐是最好的舒缓压力的方式之一。
随着移动设备的日益完善,我们大家都已经有了在手机上听自己喜欢歌曲的习惯,以往的做法是用数据线或者蓝牙等无线设备将PC上的歌曲复制几首到手机当中,反反复复的听,等到听厌了以后,再次装一些歌曲进去,如此反复,非常的麻烦。
因此,如果在我们的手机上能实现在线听歌,这将会带来极大的方便。
本项目是一款基于Android手机平台的音乐播放器,使Android 手机拥有个性的多媒体播放器,是手机显得更生动灵活化,与人们更为方便,让手机主人随时随地处于音乐的旋律之中。
本设计实现的重要功能是播放Mp3格式的音乐文件,并且能够控制音乐的播放,暂停,显示歌手信息,歌曲专辑等功能。
本项目还可以使人们生活更加多样化,也使设计者更加熟悉Android的技术和其它在市场上的特点。
八、附录package com.example.seekbar;import android.app.Activity;import android.media.AudioManager;import android.media.MediaPlayer;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.SeekBar;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity {MediaPlayer mediaPlayer;SeekBar seekBar;private TextView text4;Button playButton, pauseButton, close, exit;// 本地歌曲的路径String path = "/storage/sdcard1/sky.mp3";// 处理进度条更新Handler mHandler = new Handler() {public void handleMessage(Message msg) {switch (msg.what) {case 0:// 更新进度int position =mediaPlayer.getCurrentPosition();int time = mediaPlayer.getDuration();int max = seekBar.getMax();seekBar.setProgress(position * max / time);break;default:break;}}};// 结束@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);init();text4 = (TextView) findViewById(R.id.text4);// 初始化关闭按钮close = (Button) findViewById(R.id.close);close.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {close();}});// 初始化播放按钮playButton = (Button) findViewById(R.id.playButton);playButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "time is " + mediaPlayer.getDuration(), 1000).show();play();}});// 初始化暂停按钮pauseButton = (Button)findViewById(R.id.pauseButton);pauseButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {pause();}});//初始化退出按钮exit = (Button) findViewById(R.id.exit);exit.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {exit();}});seekBar = (SeekBar) findViewById(R.id.seekbar);seekBar.setOnSeekBarChangeListener(newSeekBar.OnSeekBarChangeListener() {@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {// 手动调节进度int dest = seekBar.getProgress();int time = mediaPlayer.getDuration();int max = seekBar.getMax();mediaPlayer.seekTo(time * dest / max);}@Overridepublic void onStartTrackingTouch(SeekBar arg0) {// TODO Auto-generated method stub}@Overridepublic void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {// TODO Auto-generated method stub}}); // seekbar结束}// 初始化音乐播放void init() {// 进入IdlemediaPlayer = new MediaPlayer();try {// 初始化mediaPlayer.setDataSource(path);mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUS IC);// prepare 通过异步的方式装载媒体资源mediaPlayer.prepareAsync();// 后台线程发送消息进行更新进度条final int milliseconds = 100;new Thread() {@Overridepublic void run() {while (true) {try {sleep(milliseconds);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}mHandler.sendEmptyMessage(0);}}}.start();// 11} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}//关闭private void close() {}// 测试播放音乐void play() {mediaPlayer.start();text4.setText("音乐总长度为:" +mediaPlayer.getDuration() + "毫秒");}// 暂停音乐private void pause() {if (mediaPlayer != null && mediaPlayer.isPlaying()) {mediaPlayer.pause();text4.setText("暂停");}}//关闭private void exit() {this.finish();}// activity 退出时,停止播放音乐,释放资源@Overrideprotected void onDestroy() {// 在activity结束的时候回收资源if (mediaPlayer != null && mediaPlayer.isPlaying()) {mediaPlayer.stop();mediaPlayer.release();mediaPlayer = null;}super.onDestroy();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}<LinearLayoutxmlns:android="/apk/res/android"android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"><TextViewandroid:id="@+id/text1"android:layout_width="match_parent"android:layout_height="100dp"android:layout_gravity="center"android:text="@string/text1"android:textSize="60dp"/><TextViewandroid:id="@+id/text2"android:layout_width="match_parent"android:layout_height="50dp"android:layout_gravity="center"android:text="@string/text2"android:textSize="30dp"/><TextViewandroid:id="@+id/text3"android:layout_width="match_parent"android:layout_height="40dp"android:layout_gravity="center"android:text="@string/text3"android:textSize="15dp"/><SeekBarandroid:id="@+id/seekbar"android:layout_width="match_parent"android:layout_height="wrap_content"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:id="@+id/close"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:text="@string/close"/><Buttonandroid:id="@+id/playButton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:text="@string/play"/><Buttonandroid:id="@+id/pauseButton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:text="@string/pause"/><Buttonandroid:id="@+id/exit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:text="@string/exit"/></LinearLayout><TextViewandroid:id="@+id/text4"android:layout_width="match_parent"android:layout_height="50dp"android:layout_gravity="center"android:text="@string/text4"android:textSize="20dp"/><TextViewandroid:layout_width="match_parent"android:layout_height="60dp"android:layout_gravity="center"android:text="@string/text5"android:textSize="20dp"/></LinearLayout><?xml version="1.0"encoding="utf-8"?><resources><string name="app_name">莫晓莉</string><string name="action_settings">设置</string><string name="pause">暂停</string><string name="play">播放</string><string name="text1">音乐播放器</string><string name="text2">sky.mp3</string><string name="text3">进度调节器</string><string name="text4">ready</string><string name="text5">12022125莫晓莉</string> <string name="close">关闭</string><string name="exit">退出</string></resources>。