基于Android 系统的音乐播放器设计与实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于Android系统的音乐播放器设计与实现实验报告一、实验要求:本课程设计的目的是开发一个可以播放主流音乐文件格式的播放器的播放功能模块,要求音乐播放器能够播放Mp3,Wav多种格式的音乐文件,能够控制播放,暂停,重播,停止,要求视觉外观美观,操作简单。二,设计思想首先查找相关书籍与文献,了解Android的构架并搭建Android开发平台。查找相关资料,了解现阶段基于Android平台手机音乐播放器发展现状以及相关功能。播放器基本拥有以下功能:播放本地音乐文件对播放的状态进行控制播放设置,开始暂停停止三,系统结构四、数据结构的说明和模块的算法流程图运行结束暂停开始音乐播放器主界面音乐播放器设定播放界面开始暂停停止五、使用说明书菜单有6个功能:播放,暂停,停止,重播。播放功能:点击后事件触发,传入歌曲名字,让程序操作该名字进行播放。暂停功能:点击后事件触发,歌曲暂停播放。停止功能:点击后事件触发,歌曲停止播放。重播功能;点击后事件触发,歌曲重新播放。六、运行结果和结果分析作为Android平台上开发的应用软件,本设计具备与用户交互的界面,界面简洁美观易于操作。作为一款在线音乐客户端,提供给用户在线选歌的方便,提供在线播放歌曲的即时信息,如歌曲名,歌手名,时长等等。七、我评价与总结现如今社会生活节奏日益加快,人们在忙碌的生活中欣赏音乐是最好的舒缓压力的方式之一。随着移动设备的日益完善,我们大家都已经有了在手机上听自己喜欢歌曲的习惯,以往的做法是用数据线或者蓝牙等无线设备将PC上的歌曲复制几首到手机当中,反反复复的听,等到听厌了以后,再次装一些歌曲进去,如此反复,非常的麻烦。因此,如果在我们的手机上能实现在线听歌,这将会带来极大的方便。本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,是手机显得更生动灵活化,与人们更为方便,让手机主人随时随地处于音乐的旋律之中。本设计实现的重要功能是播放Mp3格式的音乐文件,并且能够控制音乐的播放,暂停,显示歌手信息,歌曲专辑等功能。本项目还可以使人们生活更加多样化,也使设计者更加熟悉Android的技术和其它在市场上的特点。八、附录packagecom.example.seekbar;importandroid.app.Activity;importandroid.media.AudioManager;importandroid.media.MediaPlayer;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.view.Menu;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.SeekBar;importandroid.widget.TextView;importandroid.widget.Toast;publicclassMainActivityextendsActivity{MediaPlayermediaPlayer;SeekBarseekBar;privateTextViewtext4;ButtonplayButton,pauseButton,close,exit;//本地歌曲的路径Stringpath=/storage/sdcard1/sky.mp3;//处理进度条更新HandlermHandler=newHandler(){publicvoidhandleMessage(Messagemsg){switch(msg.what){case0://更新进度intposition=mediaPlayer.getCurrentPosition();inttime=mediaPlayer.getDuration();intmax=seekBar.getMax();seekBar.setProgress(position*max/time);break;default:break;}}};//结束@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();text4=(TextView)findViewById(R.id.text4);//初始化关闭按钮close=(Button)findViewById(R.id.close);close.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewarg0){close();}});//初始化播放按钮playButton=(Button)findViewById(R.id.playButton);playButton.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewarg0){//TODOAuto-generatedmethodstubToast.makeText(MainActivity.this,timeis+mediaPlayer.getDuration(),1000).show();play();}});//初始化暂停按钮pauseButton=(Button)findViewById(R.id.pauseButton);pauseButton.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewarg0){pause();}});//初始化退出按钮exit=(Button)findViewById(R.id.exit);exit.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewarg0){exit();}});seekBar=(SeekBar)findViewById(R.id.seekbar);seekBar.setOnSeekBarChangeListener(newSeekBar.OnSeekBarChangeListener(){@OverridepublicvoidonStopTrackingTouch(SeekBarseekBar){//手动调节进度intdest=seekBar.getProgress();inttime=mediaPlayer.getDuration();intmax=seekBar.getMax();mediaPlayer.seekTo(time*dest/max);}@OverridepublicvoidonStartTrackingTouch(SeekBararg0){//TODOAuto-generatedmethodstub}@OverridepublicvoidonProgressChanged(SeekBararg0,intarg1,booleanarg2){//TODOAuto-generatedmethodstub}});//seekbar结束}//初始化音乐播放voidinit(){//进入IdlemediaPlayer=newMediaPlayer();try{//初始化mediaPlayer.setDataSource(path);mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);//prepare通过异步的方式装载媒体资源mediaPlayer.prepareAsync();//后台线程发送消息进行更新进度条finalintmilliseconds=100;newThread(){@Overridepublicvoidrun(){while(true){try{sleep(milliseconds);}catch(InterruptedExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}mHandler.sendEmptyMessage(0);}}}.start();//11}catch(Exceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}//关闭privatevoidclose(){}//测试播放音乐voidplay(){mediaPlayer.start();text4.setText(音乐总长度为:+mediaPlayer.getDuration()+毫秒);}//暂停音乐privatevoidpause(){if(mediaPlayer!=null&&mediaPlayer.isPlaying()){mediaPlayer.pause();text4.setText(暂停);}}//关闭privatevoidexit(){this.finish();}//activity退出时,停止播放音乐,释放资源@OverrideprotectedvoidonDestroy(){//在activity结束的时候回收资源if(mediaPlayer!=null&&mediaPlayer.isPlaying()){mediaPlayer.stop();mediaPlayer.release();mediaPlayer=null;}super.onDestroy();}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.main,menu);returntrue;}}LinearLayoutxmlns:android=:layout_width=match_parentandroid:layout_height=match_parentandroid:orientation=verticalTextViewandroid:id=@+id/text1android:layout_width=match_parentandroid:layout_height=100dpandroid:layout_gravity=centerandroid:text=@string/text1android:textSize=60dp/TextViewandroid:id=@+id/text2android:layout_width=match_parentandroid:layout_height=50dpandroid:layout_gravity=centerandroid:text=@string/text2android:textSize=30dp/TextViewandroid:id=@+id/text3android:layout_width=match_parentandroid:layout_height=40dpandroid:layout_gravity=centerandroid:text=@string/text3android:textSize=15dp/SeekBarandroid:id

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功