安卓 简易音乐播放器

    xiaoxiao2021-12-14  20

    播放器的 原理 :

    import java.io.IOException; import android.app.Activity; import android.app.ProgressDialog; import android.media.MediaPlayer; import android.media.MediaPlayer.OnErrorListener; import android.media.MediaPlayer.OnPreparedListener; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private EditText et_path; private MediaPlayer mediaPlayer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_path = (EditText) findViewById(R.id.et_path); } public void play(View view) { try { mediaPlayer = new MediaPlayer(); //进度条对话框 final ProgressDialog pd = new ProgressDialog(this); //设置消息 pd.setMessage("正在缓冲..."); mediaPlayer.reset();//创建多媒体播放器的实例 //设置播放的文件 可以是一个本地文件//接收的是 string类型的路径 mediaPlayer.setDataSource(et_path.getText().toString().trim()); //mediaPlayer.prepare();//同步的准备 mediaPlayer.prepareAsync();//异步的准备,开启子线程去准备 pd.show(); //显示缓冲的进度条对话框 //播放失败的监听器 mediaPlayer.setOnErrorListener(new OnErrorListener() { @Override //int what 是失败的原因的意思 public boolean onError(MediaPlayer mp, int what, int extra) { Toast.makeText(MainActivity.this, "播放失败,错误代码:"+what, 0).show(); return false; } }); //设置准备完毕的监听器 mediaPlayer.setOnPreparedListener(new OnPreparedListener() { @Override //准备完毕 调用的方法吗 public void onPrepared(MediaPlayer mp) { pd.dismiss();//关闭缓冲的进度条对话框 mediaPlayer.start();//开始播放 } }); } catch (Exception e) { e.printStackTrace(); } } //暂停的逻辑 public void pause(View view) { //mediaPlayer 不等于空 并且是播放的状态 if(mediaPlayer!=null&&mediaPlayer.isPlaying()){ mediaPlayer.pause();//暂停播放 return; }//mediaPlayer 不等于空 if(mediaPlayer!=null){ mediaPlayer.start();//开始播放 } } //停止播放 public void stop(View view) { if(mediaPlayer!=null){//如果不等于空 mediaPlayer.stop();//停止播放 mediaPlayer.release();//释放资源 mediaPlayer = null; } } }
    转载请注明原文地址: https://ju.6miu.com/read-971554.html

    最新回复(0)