1.Musicplayer Activity
//歌曲名称本应该是通过Intent传入,不过此处没有前置代码,故直接赋值即可。
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private AudioManager audioManager = null;
private MediaPlayer player = null;
int maxVolume, currentVolume;
private String songname;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
ImageButton btn1 = findViewById(R.id.play);
ImageButton btn2 = findViewById(R.id.pause);
ImageButton btn3 = findViewById(R.id.stop);
ImageButton btn4 = findViewById(R.id.volume_plus);
ImageButton btn5 = findViewById(R.id.volume_decrease);
TextView te_songname = findViewById(R.id.te_songname);
songname = "song001";
te_songname.setText(songname);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (player == null || !player.isPlaying()) {
player = MediaPlayer.create(MainActivity.this, R.raw.song001);
player.start();
} else {
player.stop();
player.release();
player = null;
}
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (player.isPlaying()) {
player.pause();
}
}
});
btn3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (player.isPlaying()) {
player.reset();//停止播放
//initMediaPlayer();
}
}
});
btn4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
Toast.makeText(MainActivity.this, "音量增加,最大音量是:" + maxVolume + ",当前音量" + currentVolume,
Toast.LENGTH_SHORT).show();
}
});
btn5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
Toast.makeText(MainActivity.this, "音量减小,最大音量是:" + maxVolume + ",当前音量" + currentVolume,
Toast.LENGTH_SHORT).show();
}
});
}
}
2.activity_musicplayer 布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="正在播放:"
android:textSize="25dp" />
<TextView
android:id="@+id/te_songname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="25dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<ImageButton
android:id="@+id/play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@drawable/bofang" />
<ImageButton
android:id="@+id/pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:background="@null"
android:src="@drawable/zanting" />
<ImageButton
android:id="@+id/stop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:background="@null"
android:src="@drawable/tingzhi" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="15dp"
android:gravity="right"
android:orientation="vertical">
<ImageButton
android:id="@+id/volume_plus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@drawable/add" />
<ImageButton
android:id="@+id/volume_decrease"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:background="@null"
android:src="@drawable/less" />
</LinearLayout>
</RelativeLayout>