基于android音乐播放器的毕业设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
精品课件
安徽建筑工业学院毕业论文
代码结构实现如下:
public class PlayerService extends Service {
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
Android程序启动后,系统会启动一个模拟器(Emulator)(图 4.7),该模拟器是一款手机板的样式,拥有手机硬件的基本操作。 我小们可也自可由以设将定右。边的键盘通过精代品课码件属性设置将其隐藏,界面的大
4.4.2 Android工程程序结 安徽建筑工业学院毕业论文 构
精品课件
安徽建筑工业学院毕业论文
安徽建筑工业学院毕业论文
5.2 播放列表功能
精品课件
安徽建筑工业学院毕业论文
界面列表事件响应如下
protected void onListItemClick(ListView l, View v, int position, long id) {
final MyDialog mydialog = new
Android的线程,以及线程之间通信的中介:Handler类 Android数据库:在第三部分已经介绍过了。这里不再介绍 Android配置文件:AndroidManifest.Xml及res资源文件中各种属性
布局方式 引用的资源等 Android系统将插件ADT集成到了Eclipse工具上,因此,一个
精品课件
安徽建筑工业学院毕业论文
3.2.3 数据查询和显示
程序是利用Cursor游标类指向数据表中 的某一项,然后进行查询数据,数据显 示使用的是专门的数据库适配器 SimpleCursorAdapter
精品课件
安徽建筑工业学院毕业论文
Android项目Music Player介绍
Android的四大基本组件:Activity(活动),Service(服务), BroadcastReceiver(广播),ContentProvider(内容提供者),各 组件之间要进行切换需要一个意图或企图Intent类,通过启动 StartIntent()方法来使各组件进行Activity的跳转,通过启动 StartService是()方法来启动服务,通过stopServices()方 法来停止服务。
Android的五大布局方式:LinearLayout(线性布局) FrameLayout(帧布局) TableLayout(表格布局) AbsoluteLayout(绝对布局) RelativeLayout(相对布局)五种布局 方式可以相互嵌套,Android各种漂亮的界面都是通过嵌套布局而 实现的。
精品课件
安徽建筑工业学院毕业论文
android的媒体播放原理:android源程序已经为
我们封装好了一个接口类,叫MediaPlayer。该接口在
执行行需要一个数据源,通过如下四个步骤:
第一步:MediaPlayer.reset();复位操作,为以
后的媒体准备播放作准备。
第二步:传入歌曲数据源,这里也是一个数据流
精品课件
安徽建筑工业学院毕业论文
1.2编写目的
现今社会生活紧张,而欣赏音乐是其中 最好的舒缓压力的方式之一,本项目的 目的是开发一个可以播放主流音乐文件 格式的播放器,本设计的实现的这主要 功能是播放Mp3格式的音乐文件,并且能 够控制播放,暂停,停止,上一曲,下 一曲,音量调节,视觉外观,播放列表 和歌曲文件的管理操作等多种播放控制 功能,界面简明,操作简单。
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
onCreate(db)
}
}
精品课件
安徽建筑工业学院毕业论文
3.2.2 操作数据库
Android对数据库的操作主要有插入、 删除、更新、查询操作,在进行任何操 作时都必须指定一个关键字,才能对相 应的表进行数据操作,这里我们指定的 是path关键字。
int progress,
}
}
public void onStartTrackingTouch(SeekBar seekBar) {
}
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
精品课件
安徽建筑工业学院毕业论文
5.1.2 播放器播放、暂停、停 止等功能
安徽建筑工业学院毕业论文
2.1.5 功能需求(时序图)分析
精品课件
安徽建筑工业学院毕业论文
Android数据库设计
3.1 数据库及字段属性设计
表包括Music_List,Music,Music2 主要是 保存歌曲名字、路径
字段说明:Id 歌曲id号 Name 歌曲 名字 Path 歌曲路径
精品课件
对数据库的创建和操作。程序中数据库
类为DataBase extends
SQLiteOpenHelper(继承关系)。
精品课件
安徽建筑工业学院毕业论文
3.2.1 创建数据库
public class DataBase extends SQLiteOpenHelper {
/* 构造方法,创建数据库和表 */
MediaPlayer.setDataSource(String path);参数需要
传一个路径,该接口类在收到路径后将其转化为数据
源。
第三步:准备播放数据源,调用方法
MediaPlayer.Prepare();
第四步:MediaPlayer.Start();播放数据源,该
数据源播放后,不再与程序 有关,需要用
精品课件
安徽建筑工业学院毕业论文
2.1.1 播放器的基本控制需求
精品课件
安徽建筑工业学院毕业论文
2.1.2 播放清单列表管理需求
当用户选中列表中某一项歌曲,就有的需求:
精品课件
安徽建筑工业学院毕业论文
2.1.3 播放友好性需求
精品课件Leabharlann Baidu
安徽建筑工业学院毕业论文
2.1.4 播放器扩展卡需求
精品课件
安徽建筑工业学院毕业论文
3.2 数据库连接
Android中自带SQLite数据库,这是 一个十分小型的数据库,这样正适合 Android这种移动平台使用。
Android数据库存储的位置
data/data/<项目文件夹>/databases/目
录下 Android是利用
SQLiteOpenHelper数据库帮助类来进行
public DataBase(Context context) {
super(context, DATABASE_NAME, null, VERSION);
}
public void onCreate(SQLiteDatabase db) {
try {
} catch (Exception e) {
}
return null;
}
@Override
public int onStartCommand(final Intent intent, int flags, int
startId) {
@Override
public void onDestroy() {}
}
// TODO Auto-generated method stub
MyDialog(FileListActivity.this, "操作选项");
mydialog.show();
mydialog.listView.setOnItemClickListener(new
OnItemClickListener() {
public void onItemClick(AdapterView<?>
menu.add(0, 0, 1, "关于"); menu.add(0, 1, 1, "退出"); menu.add(1, 2, 1, "顺序循环"); } 播放模式功能代码结构实现如下:(具体见附录) public void single_play() { } public void queue_play(精)品{课件 }
安徽建筑工业学院毕业论文
1.1项目背景
在研究了各种市场上流行的手机播放器, 了解它们各自的插件及编码方式,还有各种播 放器播放的特别格式文件,分析各种编码的优 缺点以及各种播放器本身存在的缺陷和特点, 编写出功能实用,使用方便快捷的播放器。目 前已经实现的功能有能播放常见音频文件的功 能,如MP3,WAV,等,拥有播放菜单,能选择 播放清单,具备一般播放器的功能,如快进, 快退,音量调节等。播放模式也比较完善,有 单曲,顺序,循环,随机播放等模式
public void CreateListView(List<DiaLogMenu>
menuList){}
精品课件
安徽建筑工业学院毕业论文
5.4 数据存储方式
SQLiteDatabase类
SQLiteOpenHelper类
精品课件
安徽建筑工业学院毕业论文
5.5Android Service
本程序使用了Service功能实现播放,当 Activity被销毁后,后台任然在进行音 乐的播放,并且点击暂停后再点击退出, 可以实现Service的摧毁。
精品课件
安徽建筑工业学院毕业论文
2.1 功能需求(用例图分析)
2.1 功能需求(用例图分析) 根据项目的目标,我们可获得项目系
统的基本需求,以下从不同角度来描述 系统的需求,并且使用用例图来描述, 系统的功能需求,我们分成四部分来概 括,即 播放器的基本控制需要,播放列表管理 需求,播放器友好性需求和播放器扩展 卡需求。以下分别描述:
音乐播放器代码结构
精品课件
安徽建筑工业学院毕业论文
5.播放器系统功能详细设计 5.1音乐播放器主界面功能实现
播放器主界面
精品课件
5.1.2 播放界面音轨的实 安徽建筑工业学院毕业论文 现
public void handleMessage(Message msg) {
if (mp != null && misplaying) {
@Override
protected void onCreate(Bundle
savedInstanceState) {
menuList = CreateMenu();
CreateListView(menuList);
}}
public List<DiaLogMenu> CreateMenu(){}
mp.getCurrentPosition();
int curpoint =
time_time = curpoint;
total_time = totalpoint;
seekbar.setProgress(curpoint);
settotal_time(total_time);
settime_time(time_time);
}
}
精品课件
安徽建筑工业学院毕业论文
拖动进度条可以实现快进和快退
的功能实现代码如下:
seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()// 拖动进度条事件响应
{ public void onProgressChanged(SeekBar seekBar,
mMediaPlayer.release();
super.onDestroy();
}
精品课件
arg0, View arg1, int arg2,long arg3) {
mydialog.cancel();
}
}
精品课件
安徽建筑工业学院毕业论文
5.3 对话框功能
精品课件
安徽建筑工业学院毕业论文
具体实现该对话框的代码结构如下:
public class MyDialog extends Dialog {
MediaPlayer.Stop()方法让其停止或
MediaPlayer.Start(精);品让课件其启动;
安徽建筑工业学院毕业论文
5.1.3设置播放模式功能
界面效果如下图:
界面实现如下代码所示: /* * Menu菜单设置
*/ public boolean onCreateOptionsMenu(Menu menu) {
安徽建筑工业学院毕业论文
代码结构实现如下:
public class PlayerService extends Service {
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
Android程序启动后,系统会启动一个模拟器(Emulator)(图 4.7),该模拟器是一款手机板的样式,拥有手机硬件的基本操作。 我小们可也自可由以设将定右。边的键盘通过精代品课码件属性设置将其隐藏,界面的大
4.4.2 Android工程程序结 安徽建筑工业学院毕业论文 构
精品课件
安徽建筑工业学院毕业论文
安徽建筑工业学院毕业论文
5.2 播放列表功能
精品课件
安徽建筑工业学院毕业论文
界面列表事件响应如下
protected void onListItemClick(ListView l, View v, int position, long id) {
final MyDialog mydialog = new
Android的线程,以及线程之间通信的中介:Handler类 Android数据库:在第三部分已经介绍过了。这里不再介绍 Android配置文件:AndroidManifest.Xml及res资源文件中各种属性
布局方式 引用的资源等 Android系统将插件ADT集成到了Eclipse工具上,因此,一个
精品课件
安徽建筑工业学院毕业论文
3.2.3 数据查询和显示
程序是利用Cursor游标类指向数据表中 的某一项,然后进行查询数据,数据显 示使用的是专门的数据库适配器 SimpleCursorAdapter
精品课件
安徽建筑工业学院毕业论文
Android项目Music Player介绍
Android的四大基本组件:Activity(活动),Service(服务), BroadcastReceiver(广播),ContentProvider(内容提供者),各 组件之间要进行切换需要一个意图或企图Intent类,通过启动 StartIntent()方法来使各组件进行Activity的跳转,通过启动 StartService是()方法来启动服务,通过stopServices()方 法来停止服务。
Android的五大布局方式:LinearLayout(线性布局) FrameLayout(帧布局) TableLayout(表格布局) AbsoluteLayout(绝对布局) RelativeLayout(相对布局)五种布局 方式可以相互嵌套,Android各种漂亮的界面都是通过嵌套布局而 实现的。
精品课件
安徽建筑工业学院毕业论文
android的媒体播放原理:android源程序已经为
我们封装好了一个接口类,叫MediaPlayer。该接口在
执行行需要一个数据源,通过如下四个步骤:
第一步:MediaPlayer.reset();复位操作,为以
后的媒体准备播放作准备。
第二步:传入歌曲数据源,这里也是一个数据流
精品课件
安徽建筑工业学院毕业论文
1.2编写目的
现今社会生活紧张,而欣赏音乐是其中 最好的舒缓压力的方式之一,本项目的 目的是开发一个可以播放主流音乐文件 格式的播放器,本设计的实现的这主要 功能是播放Mp3格式的音乐文件,并且能 够控制播放,暂停,停止,上一曲,下 一曲,音量调节,视觉外观,播放列表 和歌曲文件的管理操作等多种播放控制 功能,界面简明,操作简单。
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
onCreate(db)
}
}
精品课件
安徽建筑工业学院毕业论文
3.2.2 操作数据库
Android对数据库的操作主要有插入、 删除、更新、查询操作,在进行任何操 作时都必须指定一个关键字,才能对相 应的表进行数据操作,这里我们指定的 是path关键字。
int progress,
}
}
public void onStartTrackingTouch(SeekBar seekBar) {
}
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
精品课件
安徽建筑工业学院毕业论文
5.1.2 播放器播放、暂停、停 止等功能
安徽建筑工业学院毕业论文
2.1.5 功能需求(时序图)分析
精品课件
安徽建筑工业学院毕业论文
Android数据库设计
3.1 数据库及字段属性设计
表包括Music_List,Music,Music2 主要是 保存歌曲名字、路径
字段说明:Id 歌曲id号 Name 歌曲 名字 Path 歌曲路径
精品课件
对数据库的创建和操作。程序中数据库
类为DataBase extends
SQLiteOpenHelper(继承关系)。
精品课件
安徽建筑工业学院毕业论文
3.2.1 创建数据库
public class DataBase extends SQLiteOpenHelper {
/* 构造方法,创建数据库和表 */
MediaPlayer.setDataSource(String path);参数需要
传一个路径,该接口类在收到路径后将其转化为数据
源。
第三步:准备播放数据源,调用方法
MediaPlayer.Prepare();
第四步:MediaPlayer.Start();播放数据源,该
数据源播放后,不再与程序 有关,需要用
精品课件
安徽建筑工业学院毕业论文
2.1.1 播放器的基本控制需求
精品课件
安徽建筑工业学院毕业论文
2.1.2 播放清单列表管理需求
当用户选中列表中某一项歌曲,就有的需求:
精品课件
安徽建筑工业学院毕业论文
2.1.3 播放友好性需求
精品课件Leabharlann Baidu
安徽建筑工业学院毕业论文
2.1.4 播放器扩展卡需求
精品课件
安徽建筑工业学院毕业论文
3.2 数据库连接
Android中自带SQLite数据库,这是 一个十分小型的数据库,这样正适合 Android这种移动平台使用。
Android数据库存储的位置
data/data/<项目文件夹>/databases/目
录下 Android是利用
SQLiteOpenHelper数据库帮助类来进行
public DataBase(Context context) {
super(context, DATABASE_NAME, null, VERSION);
}
public void onCreate(SQLiteDatabase db) {
try {
} catch (Exception e) {
}
return null;
}
@Override
public int onStartCommand(final Intent intent, int flags, int
startId) {
@Override
public void onDestroy() {}
}
// TODO Auto-generated method stub
MyDialog(FileListActivity.this, "操作选项");
mydialog.show();
mydialog.listView.setOnItemClickListener(new
OnItemClickListener() {
public void onItemClick(AdapterView<?>
menu.add(0, 0, 1, "关于"); menu.add(0, 1, 1, "退出"); menu.add(1, 2, 1, "顺序循环"); } 播放模式功能代码结构实现如下:(具体见附录) public void single_play() { } public void queue_play(精)品{课件 }
安徽建筑工业学院毕业论文
1.1项目背景
在研究了各种市场上流行的手机播放器, 了解它们各自的插件及编码方式,还有各种播 放器播放的特别格式文件,分析各种编码的优 缺点以及各种播放器本身存在的缺陷和特点, 编写出功能实用,使用方便快捷的播放器。目 前已经实现的功能有能播放常见音频文件的功 能,如MP3,WAV,等,拥有播放菜单,能选择 播放清单,具备一般播放器的功能,如快进, 快退,音量调节等。播放模式也比较完善,有 单曲,顺序,循环,随机播放等模式
public void CreateListView(List<DiaLogMenu>
menuList){}
精品课件
安徽建筑工业学院毕业论文
5.4 数据存储方式
SQLiteDatabase类
SQLiteOpenHelper类
精品课件
安徽建筑工业学院毕业论文
5.5Android Service
本程序使用了Service功能实现播放,当 Activity被销毁后,后台任然在进行音 乐的播放,并且点击暂停后再点击退出, 可以实现Service的摧毁。
精品课件
安徽建筑工业学院毕业论文
2.1 功能需求(用例图分析)
2.1 功能需求(用例图分析) 根据项目的目标,我们可获得项目系
统的基本需求,以下从不同角度来描述 系统的需求,并且使用用例图来描述, 系统的功能需求,我们分成四部分来概 括,即 播放器的基本控制需要,播放列表管理 需求,播放器友好性需求和播放器扩展 卡需求。以下分别描述:
音乐播放器代码结构
精品课件
安徽建筑工业学院毕业论文
5.播放器系统功能详细设计 5.1音乐播放器主界面功能实现
播放器主界面
精品课件
5.1.2 播放界面音轨的实 安徽建筑工业学院毕业论文 现
public void handleMessage(Message msg) {
if (mp != null && misplaying) {
@Override
protected void onCreate(Bundle
savedInstanceState) {
menuList = CreateMenu();
CreateListView(menuList);
}}
public List<DiaLogMenu> CreateMenu(){}
mp.getCurrentPosition();
int curpoint =
time_time = curpoint;
total_time = totalpoint;
seekbar.setProgress(curpoint);
settotal_time(total_time);
settime_time(time_time);
}
}
精品课件
安徽建筑工业学院毕业论文
拖动进度条可以实现快进和快退
的功能实现代码如下:
seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()// 拖动进度条事件响应
{ public void onProgressChanged(SeekBar seekBar,
mMediaPlayer.release();
super.onDestroy();
}
精品课件
arg0, View arg1, int arg2,long arg3) {
mydialog.cancel();
}
}
精品课件
安徽建筑工业学院毕业论文
5.3 对话框功能
精品课件
安徽建筑工业学院毕业论文
具体实现该对话框的代码结构如下:
public class MyDialog extends Dialog {
MediaPlayer.Stop()方法让其停止或
MediaPlayer.Start(精);品让课件其启动;
安徽建筑工业学院毕业论文
5.1.3设置播放模式功能
界面效果如下图:
界面实现如下代码所示: /* * Menu菜单设置
*/ public boolean onCreateOptionsMenu(Menu menu) {