本文的示例共享了安卓音乐播放器的特定代码。 请作为参考。 具体内容如下
1 .播放项目中的音乐
package com.thm.g 150820 _ Android 26 _ play music;
导入安卓. media.media player;
import Android.support.V7.app.appcompatactivity;
导入安卓. OS.bundle;
导入安卓. view.view;
import Android .构件. imagebutton;
import Android .构件. seekbar;
publicclassmainactivityextendsappcompatactivity {
私人媒体播放器媒体播放器;
隐私安全安全保护中心;
@Override
protectedvoidoncreate 边界维护实例state )。
super.oncreate savedinstancestate;
setcontentview r.layout.activity _ main;
seekbar=seekbar ) findviewbyid ) r.id.seekbar;
seekbar.setonseekbarchangelistener new seekbar.onseekbarchangelistener ) ) {
@Override
publicvoidonprogresschanged seekbar seekbar,int progress,布尔触发器) {
}
@Override
publicvoidonstarttrackingtouch seekbar seekbar ) {
}
@Override
publicvoidonstoptrackingtouch seekbar seekbar ) {
//获取拖动结束后的位置
int progress=seekbar.get progress ;
//跳到某个位置播放
媒体播放器. seek to progress;
}
);
}
publicvoidisplayorpause 视图视图) {
将View强变为ImageButton
imagebutton imagebutton=imagebutton ) view;
媒体播放器==null if ) {
实例化媒体播放器
介质播放器=介质播放器. create this,R.raw.yao;
//开始广播
mediaPlayer.start ;
//图标被修改为暂停图标
imagebutton.setimageresource Android.r.drawable.IC _ media _ pause );
//获取音乐的总时间
int duration=media player.get duration ;
//将进度条的最大值设置为音乐总时间
seekbar.setmaxduration );
new MyThre ).start );
//判断是否播放了音乐
else if 介质播放器. is playing ) ) )。
//暂停音乐
mediaPlayer.pause ;
//图标被修改为播放的图标
imagebutton.setimageresource Android.r.drawable.IC _ media _ play );
}else{
mediaPlayer.start ;
//图标被修改为暂停图标
imagebutton.setimageresource Android.r.drawable.IC _ media _ pause );
}
}
//写内部类
class MyThre extends Thread{
@Override
公共void run }
super.run ;
while seekbar.get progress =seekbar.get max ) ) }
//获取当前音乐的播放位置
int c
urrentPosition = mediaPlayer.getCurrentPosition);
//让进度条动起来
seekBar.setProgresscurrentPosition);
}
}
}
}
2.播放内存卡中的音乐
package com.thm.g150820_android26_playmusic;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
import android.widget.SeekBar;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
private MediaPlayer mediaPlayer;
private SeekBar seekBar;
@Override
protected void onCreateBundle savedInstanceState) {
super.onCreatesavedInstanceState);
setContentViewR.layout.activity_main);
seekBar = SeekBar) findViewByIdR.id.seekBar);
seekBar.setOnSeekBarChangeListenernew SeekBar.OnSeekBarChangeListener) {
@Override
public void onProgressChangedSeekBar seekBar, int progress, boolean fromUser) {
}
@Override
public void onStartTrackingTouchSeekBar seekBar) {
}
@Override
public void onStopTrackingTouchSeekBar seekBar) {
//获取拖动结束之后的位置
int progress = seekBar.getProgress);
//跳转到某个位置播放
mediaPlayer.seekToprogress);
}
});
}
public void isPlayOrPauseView view){
//把View强转为ImageButton
ImageButton imageButton = ImageButton) view;
ifmediaPlayer==null) {
//实例化MediaPlayer
//播放应用内的音乐
//mediaPlayer = MediaPlayer.createthis, R.raw.yao);
//播放内存卡中的音乐
mediaPlayer = new MediaPlayer);
//设置类型
mediaPlayer.setAudioStreamTypeAudioManager.STREAM_MUSIC);
//设置音乐路径
try {
mediaPlayer.setDataSourcethis, Uri.parse”storage/sdcard0/Music/a.mp3″));
//播放之前准备一下
mediaPlayer.prepare);
} catch IOException e) {
e.printStackTrace);
}
//开始播放
mediaPlayer.start);
//图标修改为暂停的图标
imageButton.setImageResourceandroid.R.drawable.ic_media_pause);
//获取音乐的总时长
int duration = mediaPlayer.getDuration);
//设置进度条的最大值为音乐的总时长
seekBar.setMaxduration);
new MyThre).start);
}//判断如果音乐在播放
else ifmediaPlayer.isPlaying)){
//就暂停音乐
mediaPlayer.pause);
//图标修改为播放的图标
imageButton.setImageResourceandroid.R.drawable.ic_media_play);
}else{
mediaPlayer.start);
//图标修改为暂停的图标
imageButton.setImageResourceandroid.R.drawable.ic_media_pause);
}
}
//写线程内部类
class MyThre extends Thread{
@Override
public void run) {
super.run);
whileseekBar.getProgress)<=seekBar.getMax)){
//获取当前音乐播放的位置
int currentPosition = mediaPlayer.getCurrentPosition);
//让进度条动起来
seekBar.setProgresscurrentPosition);
}
}
}
}
3.添加读取内存的权限
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。