windowds的音乐播放java程序,使用MediaPlayer播放音频,一个简易音乐播放器,主要讲解使用方法。...

【实例简介】

使用MediaPlayer播放音频,一个简易音乐播放器,主要讲解使用方法。

【实例截图】

【核心代码】

package com.mingrisoft;

import android.app.Activity;

import android.media.MediaPlayer;

import android.net.Uri;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.view.WindowManager;

import android.widget.ImageButton;

import android.widget.Toast;

import java.io.File;

public class MainActivity extends Activity {

private MediaPlayer player; //定义MediaPlayer对象

private boolean isPause = false; //定义是否暂停

private File file; //定义要播放的音频文件

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//设置全屏显示

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

WindowManager.LayoutParams.FLAG_FULLSCREEN);

//获取“播放/暂停”按钮

final ImageButton btn_play = (ImageButton) findViewById(R.id.btn_play);

//获取“停止”按钮

final ImageButton btn_stop = (ImageButton) findViewById(R.id.btn_stop);

file = new File("/sdcard/music.mp3"); //获取要播放的音频文件

if (file.exists()) { //如果音频文件存在

//创建MediaPlayer对象,并解析要播放的音频文件

player = MediaPlayer.create(this, Uri.parse(file.getAbsolutePath()));

} else {

//提示音频文件不存在

Toast.makeText(MainActivity.this, "要播放的音频文件不存在!", Toast.LENGTH_SHORT).show();

return;

}

//为MediaPlayer添加完成事件监听器,实现当音频播放完毕后,重新开始播放音频

player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

@Override

public void onCompletion(MediaPlayer mp) {

play(); //调用play()方法,实现播放功能

}

});

btn_play.setOnClickListener(new View.OnClickListener() { //实现继续播放与暂停播放

@Override

public void onClick(View v) {

if (player.isPlaying() && !isPause) { //如果音频处于播放状态

player.pause(); //暂停播放

isPause = true; //设置为暂停状态

//更换为播放图标

((ImageButton) v).setImageDrawable(getResources()

.getDrawable(R.drawable.play, null));

} else {

player.start(); //继续播放

// 更换为暂停图标

((ImageButton) v).setImageDrawable(getResources()

.getDrawable(R.drawable.pause, null));

isPause = false; //设置为播放状态

}

}

});

btn_stop.setOnClickListener(new View.OnClickListener() { //单击停止按钮,实现停止播放音频

@Override

public void onClick(View v) {

player.stop(); //停止播放

//更换为播放图标

btn_play.setImageDrawable(getResources()

.getDrawable(R.drawable.play, null));

}

});

}

private void play() { //创建play(),实现音频播放功能

try {

player.reset(); //重置MediaPlayer对象

player.setDataSource(file.getAbsolutePath()); //重新设置要播放的音频

player.prepare(); //预加载音频

player.start(); //开始播放

} catch (Exception e) {

e.printStackTrace(); //输出异常信息

}

}

//当前Activity销毁时,停止正在播放的音频,并释放MediaPlayer所占用的资源

@Override

protected void onDestroy() {

if (player.isPlaying()) { //如果音频处于播放状态

player.stop(); //停止音频的播放

}

player.release(); //释放资源

super.onDestroy();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值