1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Android如何制作本地音乐播放器 简单实现Android本地音乐播放器

Android如何制作本地音乐播放器 简单实现Android本地音乐播放器

时间:2021-02-01 11:12:17

相关推荐

Android如何制作本地音乐播放器 简单实现Android本地音乐播放器

[导读]这篇文章主要为大家详细介绍了如何简单实现Android本地音乐播放器

音乐播放需要调用service,在此,只是简单梳理播放流程。publicclassPlayMusicServiceextendsService{

//绑定服务调用服务的方法。

@Override

publicIBinderonBind(Intentintent){

returnnull;

}

}

xmlns:tools="/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

tools:context=".MainActivity">

android:id="@+id/et_path"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:hint="请输入要播放文件的路径"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:id="@+id/bt_play"

android:onClick="play"

android:layout_width="0dip"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="播放"/>

android:id="@+id/bt_pause"

android:onClick="pause"

android:layout_width="0dip"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="暂停"/>

android:id="@+id/bt_stop"

android:onClick="stop"

android:layout_width="0dip"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="停止"/>

android:id="@+id/bt_replay"

android:onClick="replay"

android:layout_width="0dip"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="重播"/>

publicclassMainActivityextendsActivity{

privateEditTextet_path;

privateMediaPlayermediaPlayer;

privateButtonbt_play,bt_pause,bt_stop,bt_replay;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

et_path=(EditText)findViewById(R.id.et_path);

bt_play=(Button)findViewById(R.id.bt_play);

bt_pause=(Button)findViewById(R.id.bt_pause);

bt_stop=(Button)findViewById(R.id.bt_stop);

bt_replay=(Button)findViewById(R.id.bt_replay);

}

/**

*播放

*@paramview

*/

publicvoidplay(Viewview){

Stringfilepath=et_path.getText().toString().trim();

Filefile=newFile(filepath);

if(file.exists()){

try{

mediaPlayer=newMediaPlayer();

mediaPlayer.setDataSource(filepath);//设置播放的数据源。

mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

mediaPlayer.prepare();//准备开始播放播放的逻辑是c代码在新的线程里面执行。

mediaPlayer.start();

bt_play.setEnabled(false);

mediaPlayer.setOnCompletionListener(newOnCompletionListener(){

@Override

publicvoidonCompletion(MediaPlayermp){

bt_play.setEnabled(true);

}

});

}catch(Exceptione){

e.printStackTrace();

Toast.makeText(this,"播放失败",0).show();

}

}else{

Toast.makeText(this,"文件不存在,请检查文件的路径",0).show();

}

}

/**

*暂停

*@paramview

*/

publicvoidpause(Viewview){

if("继续".equals(bt_pause.getText().toString())){

mediaPlayer.start();

bt_pause.setText("暂停");

return;

}

if(mediaPlayer!=null&&mediaPlayer.isPlaying()){

mediaPlayer.pause();

bt_pause.setText("继续");

}

}

/**

*停止

*@paramview

*/

publicvoidstop(Viewview){

if(mediaPlayer!=null&&mediaPlayer.isPlaying()){

mediaPlayer.stop();

mediaPlayer.release();

mediaPlayer=null;

}

bt_pause.setText("暂停");

bt_play.setEnabled(true);

}

/**

*重播

*@paramview

*/

publicvoidreplay(Viewview){

if(mediaPlayer!=null&&mediaPlayer.isPlaying()){

mediaPlayer.seekTo(0);

}else{

play(view);

}

bt_pause.setText("暂停");

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。