#Android应用开发MP3简单音乐播放器.docx
《#Android应用开发MP3简单音乐播放器.docx》由会员分享,可在线阅读,更多相关《#Android应用开发MP3简单音乐播放器.docx(15页珍藏版)》请在冰豆网上搜索。
![#Android应用开发MP3简单音乐播放器.docx](https://file1.bdocx.com/fileroot1/2022-11/16/7d74746f-94c0-4093-bc50-b365129783f5/7d74746f-94c0-4093-bc50-b365129783f51.gif)
#Android应用开发MP3简单音乐播放器
Android应用开发--MP3简单音乐播放器
点击列表会进入播放的Activity,在这个Activity会接收到从前面的Activity传来的数据,在通过这些数据来启动服务来播放音乐,整个过程很简单,需要注意的是我们要接收的数据是哪些内容,还有我们向Service要传什么样的数据,这是根据自己的开发思路和需求来决定的,等一下你们会看到小鬼到底往Service传了些什么东西,然而这些数据到底起什么作用,需要慢慢去体会,因为这是需要一点一点去调试的。
好了,下面贴一下整个Activity的实现代码,主要是播放的各种状态的实现,因为这个音乐播放器并没有完全开发完,所以朋友们需要弄清楚这一点。
如果对代码的实现有不清楚的,可以给小鬼留言,小鬼有空一定给大家解答。
效果如下:
代码如下:
packagecom.anjovo.as.chapter10.exam01。
importjava.io.IOException。
importandroid.media.AudioManager。
importandroid.media.MediaPlayer。
import.Uri。
importandroid.os.Bundle。
importandroid.app.Activity。
importandroid.content.Intent。
importandroid.view.ContextMenu。
importandroid.view.ContextMenu.ContextMenuInfo。
importandroid.view.Menu。
importandroid.view.MenuItem。
importandroid.view.SubMenu。
importandroid.view.View。
importandroid.widget.Button。
importandroid.widget.ImageView。
importandroid.widget.TextView。
importandroid.widget.Toast。
publicclassMusicPlayerActivityextendsActivity{
protectedstaticfinalintREQUEST_CODE=1。
privateButtonbtnPlay,btnPause,baStop,back。
privateImageViewimage。
privateTextViewtext。
privateMediaPlayerplayer。
intposition=0。
//声明一个变量判断是否为播放,默认为false
privatebooleanisPaused=false,Media=false。
@Override
protectedvoidonCreate(BundlesavedInstanceState>{
super.onCreate(savedInstanceState>。
setContentView(R.layout.activity_music_player>。
btnPlay=(Button>findViewById(R.id.bt_play>。
btnPause=(Button>findViewById(R.id.bt_pause>。
baStop=(Button>findViewById(R.id.bt_stop>。
back=(Button>findViewById(R.id.bt_back>。
image=(ImageView>findViewById(R.drawable.ic_launcher>。
text=(TextView>findViewById(R.id.text>。
image=(ImageView>findViewById(R.drawable.fengcun>。
registerForContextMenu(baStop>。
//注册,让这个bastop将会启用上下文菜单
text.setText("歌词下载错误!
">。
finalIntentserintent=newIntent(this,newActivity.class>。
btnPause.setOnClickListener(newView.OnClickListener(>{
@Override
publicvoidonClick(Viewarg0>{
//TODOAuto-generatedmethodstub
startActivityForResult(serintent,REQUEST_CODE>。
}
}>。
back.setOnClickListener(newButton.OnClickListener(>{
@Override
publicvoidonClick(Viewarg0>{
//TODOAuto-generatedmethodstub
finish(>。
if(Media==true>{
player.stop(>。
player.release(>。
}
}
}>。
}
publicvoidBlooeanMedia(>{
if(Media==true>{
player.release(>。
}
}
publicvoidPlayer(MediaPlayerplayer>{
try{
if(player!
=null>{
player.stop(>。
}
player.prepare(>。
player.start(>。
isPaused=true。
Media=true。
Toast.makeText(this,"音乐播放中...",Toast.LENGTH_LONG>.show(>。
}catch(IllegalStateExceptione>{
//TODOAuto-generatedcatchblock
e.printStackTrace(>。
}catch(IOExceptione>{
//TODOAuto-generatedcatchblock
e.printStackTrace(>。
}
}
@Override
publicbooleanonContextItemSelected(MenuItemitem>{
//TODOAuto-generatedmethodstub
switch(item.getItemId(>>{
case1:
/*
*用户点击了Id为“1”的子项,在这里编写处理代码
*/
BlooeanMedia(>。
player=MediaPlayer.create(this,R.raw.wintersecret>。
MediaPlayer(player>。
Player(player>。
text.setText("周传雄-冬天的秘密...">。
break。
case2:
/*
*用户点击了Id为“2”的子项,在这里编写处理代码
*/
BlooeanMedia(>。
player=MediaPlayer.create(this,R.raw.after>。
MediaPlayer(player>。
Player(player>。
text.setText("庄心研-以后的以后...">。
break。
case3:
/*
*用户点击了Id为“2”的子项,在这里编写处理代码
*/
BlooeanMedia(>。
player=MediaPlayer.create(this,R.raw.baby>。
MediaPlayer(player>。
Player(player>。
text.setText("张悬-宝贝...">。
break。
case4:
/*
*用户点击了Id为“2”的子项,在这里编写处理代码
*/
BlooeanMedia(>。
player=MediaPlayer.create(this,R.raw.lovegirl>。
MediaPlayer(player>。
Player(player>。
text.setText("张赫宣-你是我心爱的姑娘...">。
break。
case5:
/*
*用户点击了Id为“2”的子项,在这里编写处理代码
*/
Toast.makeText(this,"Item5被选择",Toast.LENGTH_LONG>.show(>。
break。
case6:
/*
*用户点击了Id为“2”的子项,在这里编写处理代码
*/
Toast.makeText(this,"Item6被选择",Toast.LENGTH_LONG>.show(>。
break。
case7:
/*
*用户点击了Id为“2”的子项,在这里编写处理代码
*/
Toast.makeText(this,"Item7被选择",Toast.LENGTH_LONG>.show(>。
break。
case8:
/*
*用户点击了Id为“2”的子项,在这里编写处理代码
*/
Toast.makeText(this,"Item8被选择",Toast.LENGTH_LONG>.show(>。
break。
case9:
/*
*用户点击了Id为“2”的子项,在这里编写处理代码
*/
Toast.makeText(this,"Item9被选择",Toast.LENGTH_LONG>.show(>。
break。
case10:
/*
*用户点击了Id为“2”的子项,在这里编写处理代码
*/
Toast.makeText(this,"Item10被选择",Toast.LENGTH_LONG>.show(>。
break。
}
returnsuper.onOptionsItemSelected(item>。
}
privatevoidMediaPlayer(finalMediaPlayerplayer>{
//TODOAuto-generatedmethodstub
//增加播放音乐按钮的事件
btnPlay.setOnClickListener(newView.OnClickListener(>{
@Ove