基于Android平台的音乐播放器设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上一首、下一首功能
下一首进行歌曲的切换,在切换中,如果当歌曲位于歌
曲列表的边界时可以正常切换。
拖动播放进度条 选择播放模式
在播放时会有一个进度条显示播放的进度,用户可以拖 动进度条来控制播放位置。
用户可以自主选择播放模式,单曲循环、随机或者是随
机播放模式。
概要设计
以视图树的方式展示Android 中界面的 播放器对象之间的交互情况如图 布局方式
音轨对象SeekBar在歌曲刚开始播放的时候调用方法SeekBar.setMax(),参数传入歌曲 的长度。SeekBar.setProgress(1)设置游标的起始进度为1。然后程序运行如下代码: class Mybroad extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub if(intent.getAction().equals("ACTION_MAXTIME")){ int maxtime=intent.getIntExtra("maxtime", 0); se.setMax(maxtime); time2.setText(""+settime(maxtime)); } if(intent.getAction().equals("ACTION_NOWTIME")){ int nowtime=intent.getIntExtra("nowtime", 0); se.setProgress(nowtime); time.setText(""+settime(nowtime)); } if(intent.getAction().equals("ACTION_LRC")){ String lrc=intent.getStringExtra("geci"); //Toast.makeText(MainActivity.this, "剧本开始"+lrc, Toast.LENGTH_LONG).show(); showgeci.setText(""+lrc); }
4.歌曲列表界面 ListView同样有一个监听器
list.setOnItemClickListener(new OnItemClickListener() {@Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {}};,我们只要实现这个方 法,就可以监听鼠标的点击事件,当鼠标点击到每一行
(2) “播放”按钮并实现功能
(3) “下一首”并实现功能
case R.id.play: isplay=!isplay; if(isplay==true) { playm.setImageResource(R.drawable.dainji_20); }else{ playm.setImageResource(R.drawable.dianji_19); } musicplay(isplay); break; case R.id.xia: nextmusic(1); nextm.setImageResource(R.drawable.dianji_25); break;
基于Android平台的音乐播放器设计
班 学
级: 生:
指导老师:
目 录
一 、课题简介 二、需求分析 三、概要设计 四、详细设计
五、效果展示
项目背景
随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资
源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活
中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但 是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很
多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操
作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户, 许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种
的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足
一般用户听歌的需求。
需求分析
主要建设功能:导入本地 歌曲文件,选择显示歌词,管
时,可以通过public Object getItem(int position)得到该
行上的信息。这样就可以通过Intent将数据传入到其它 的Activity。
效果展示
音乐播放器在手机上的运行情况
音乐播放器ion().equals("ACTION_NOWMUSIC")){ String nowmusic1=intent.getStringExtra("nowmusic"); //Toast.makeText(MainActivity.this, "剧本开始"+lrc, Toast.LENGTH_LONG).show(); nowmusic.setText("正在播放:"+nowmusic1); } } } public String settime(int time){ int fen=time/60000; int miao=time/1000%60; return fen+":"+miao; } Runnable mRunnable = new Runnable() { @Override public void run() { // TODO Auto-generated method stub nowtime(); handler.postDelayed(mRunnable, 1000); } };
主要按钮功能实现代码: (1) “上一首”按钮并实现功能
@Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.shang: nextmusic(0); lastm.setImageResource(R.drawable.dianji_22); break;
2.播放音轨SeekBar
在main.xml文件中,SeekBar的代码如下: <SeekBar android:id="@+id/se" android:layout_width="fill_parent" android:layout_height="13dp" android:layout_centerVertical="true" android:layout_toRightOf="@id/sec" android:layout_toLeftOf="@id/min" android:maxHeight="2dp" android:thumb="@drawable/pic_14" android:thumbOffset="13dp" /> 上面代码中有参数android:thumb="@drawable/pic_14" 为音 轨游标的图片资源 播放器最重要的一部分就是音轨与歌曲进度同步的实现。 音轨设置了两个TextView用来显示当前歌曲播放的进度时间 和歌曲的长度如右图所示
详细设计
播放器主界面是一个Activity,Android工程在每个 activity启动的时候会首先执行Oncreate()方法。 如下代码: Public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(yout.activity_main;} 该方法主要执行界面的初始化操作,Activity有个设 置布局的方法: Context.setContentView(layoutResID),参数为资源ID, 该Id在工程目录res/layout下,主界面布局文件名为 main。 主界面主要采用相对布局(RelativeLayout)。
3.播放调节功能实现
各按钮水平放置,从左到右依次是上一首、 播放、下一首功能按钮。用的是布局中的线 性布局LinearLayout,;将其设置为水平, LinearLayout中依次放置播放/暂停,上一首、下一首按钮 属性。配置文件代码结构如下:
<RelativeLayout android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="4" android:background="#7C6C48" > <ImageButton ></ImageButton> <ImageButton ></ImageButton> <ImageButton ></ImageButton> </RelativeLayout>
理歌单等功能。
交互设计:提供良好的交 互设计操作简单快捷,按钮及
菜单设计合理,合理引导用户
使用 界面颜色基调相似,操作
习惯。风格相似。
下文将对本功能的核心用例进行具体的分析,如下表所示:
名称 功能
在该功能中,点击播放开始播放音乐,同时图标切换成
播放暂停音乐
相应的暂停图标,用户可以再次点击该按钮进行暂停操 作,按钮也变成播放。 当歌曲在播放或者是暂停时用户可以点击相应的上一首
相关文档
最新文档