基于android平台的音乐播放器开发
实验报告
**** ***
学 号: ************
班 级: 计自1201
第一章 引 言
1.1 项目背景
当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,Windows mobile,symbian,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。
Android:是谷歌于2007年公布的开放式源代码手机系统,它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。本次作品音乐播放器就是基于Android平台的。
1.2 编写目的
现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计实现的主要功能是播放Mp3,Wav多种格式的音乐文件,并且能够控制播放,暂停,停止,播放列等基本播放控制功能,界面简明,操作简单。
本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使设计者更加熟练Android的技术和其它在市场上的特点。
1.3 开发环境
Eclipse、Android SDK 3.2.0
第二章 系统需求分析
2.1 功能需求(用例图分析)
根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展卡需求。以下分别描述:
2.1.1 播放器的用例图
假设安装了音乐播放器的用户是系统的主要设计对象,其拥有以下操作,启动软件、播放音乐、暂停播放、停止播放、退出软件,其用例图如下
图2.1 播放器基本用例图
2.1.2用例分析
用例名称:启动软件 |
参与者:用户 |
目标:使得用户启动软件并加载手机和sd卡上的音频文件到播放列表 |
前置条件:无 |
基本事件流:1.用户启动软件 2.播放器将播放列表中的当前的歌曲 |
用例名称:播放 |
参与者:用户 |
目标:使得用户可以播放在播放列表中选中的歌曲 |
前置条件:播放器正在运行 |
基本事件流:1.用户单击“播放”按钮 2.播放器将播放列表中的当前的歌曲 |
用例名称:暂停 |
参与者:用户 |
目标:使得用户可以暂停正在播放的歌曲 |
前置条件:歌曲正在播放且未停止和暂停 |
基本事件流:1.用户单击“暂停”按钮 2.播放器将暂停当前的歌曲 |
用例名称:停止 |
参与者:用户 |
目标:使得用户可以停止正在播放的歌曲 |
前置条件:歌曲正在播放或暂停 |
基本事件流:1.用户单击“停止”按钮 2.播放器将停止当前播放的歌曲 |
用例名称:退出 |
参与者:用户 |
目标:使得用户退出或者后台播放音乐 |
前置条件:程序在运行 |
基本事件流:1.用户按返回键 2.播放器退出或者进入后台播放 |
第三章 概要设计
3.1软件播放流程图
Step1.启动软件后,软件自动检索手机和sd卡的音频文件,并组织显示成列表.
Step2.点击列表的歌曲名字。
Step3.播放音乐。
Step4.点击暂停,音乐暂停
Step5.点击播放 转到step3
Step6.点击停止 停止播放音乐
Step7.点击退出。
图3.1音乐播放器流程图
第四章 界面展示
4.1软件部署
系统编译生成apk文件,将apk文件拷到手机或者sd卡中,直接打开即可安装。
4.2启动软件
打开软件后的界面
4.3 歌曲列表界面
歌曲列表界面
4.4 播放界面
4.5 收藏界面
4.6 在线搜索音乐界面
第五章 结 论
(1)通过本次开发解决了诸如SD卡音乐文件搜索并显示、联网搜索歌曲等难题,对安卓的开发有了更深入的认识。
(2) 通过对Android手机平台的音乐播放器软件的开发,使我对Android音乐播放器系统的整体设计有一个深入的了解,对整个流程也会有一个清晰的认识。开发Android音乐播放器,要抓住开发的核心部分,音乐播放器大体由播放主界面、播放列表、菜单、播放设置、文件浏览、歌曲搜索六大核心组成。
(3) 本次程序设计,对播放器的系统结构框架做了精心的构思与设计,采用主要开发工具是Eclips4.0+Java语言的支持,Android Development Tool的插件,和Android SDK2.1版本的全面结合,才使整个音乐播放器系统得以实现。
第五章 部分源代码
以下给出功能实现代码,布局,风格等代码量过大,放在压缩文件中
MainActivity.java:
package ample.xindong;
import android.support.v7.app.ActionBarActivity;
import android.support.v4.app.Fragment;
import t.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.fragment_main);
Thread thread = new Thread() {
public void run() {
try {
sleep(2500);
} catch (InterruptedException e) {
e.printStackTrace();
}
finish();
Intent intent = new Intent(MainActivity.this, MusicActivity.class);
startActivity(intent);
}
};
thread.start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().u.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity l.
int id = ItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,eclipse开发手机app
false);
return rootView;
}
}
}
BandanActivity.java
package ample.xindong;
import ample.Adapter.MusicListAdapter;
import android.app.Activity;
import t.Intent;
import android.database.Cursor;
import dia.MediaPlayer;
import android.os.Bundle;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论