当前位置: 首页 > 编程笔记 >

Android简易音乐播放器实现代码

松波
2023-03-14
本文向大家介绍Android简易音乐播放器实现代码,包括了Android简易音乐播放器实现代码的使用技巧和注意事项,需要的朋友参考一下

本文实例为大家分享了Android音乐播放器的具体代码,供大家参考,具体内容如下

1.播放项目内的音乐

package com.thm.g150820_android26_playmusic;
import Android.media.MediaPlayer; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ImageButton; 
import android.widget.SeekBar;

public class MainActivity extends AppCompatActivity {

private MediaPlayer mediaPlayer; 
private SeekBar seekBar;

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
seekBar = (SeekBar) findViewById(R.id.seekBar);

seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
 @Override
 public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

 }

 @Override
 public void onStartTrackingTouch(SeekBar seekBar) {

 }

 @Override
 public void onStopTrackingTouch(SeekBar seekBar) {
 //获取拖动结束之后的位置
 int progress = seekBar.getProgress();
 //跳转到某个位置播放
 mediaPlayer.seekTo(progress);
 }
});
}

public void isPlayOrPause(View view){ 
//把View强转为ImageButton 
ImageButton imageButton = (ImageButton) view;

if(mediaPlayer==null) {
 //实例化MediaPlayer
 mediaPlayer = MediaPlayer.create(this, R.raw.yao);
 //开始播放
 mediaPlayer.start();
 //图标修改为暂停的图标
 imageButton.setImageResource(android.R.drawable.ic_media_pause);
 //获取音乐的总时长
 int duration = mediaPlayer.getDuration();
 //设置进度条的最大值为音乐的总时长
 seekBar.setMax(duration);

 new MyThre().start();

}//判断如果音乐在播放
else if(mediaPlayer.isPlaying()){
 //就暂停音乐
 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 
public void run() { 
super.run(); 
while(seekBar.getProgress()<=seekBar.getMax()){

 //获取当前音乐播放的位置
 int currentPosition = mediaPlayer.getCurrentPosition();

 //让进度条动起来
 seekBar.setProgress(currentPosition);
 }
 }
}
}

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 onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 seekBar = (SeekBar) findViewById(R.id.seekBar);

 seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
 @Override
 public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

 }

 @Override
 public void onStartTrackingTouch(SeekBar seekBar) {

 }

 @Override
 public void onStopTrackingTouch(SeekBar seekBar) {
 //获取拖动结束之后的位置
 int progress = seekBar.getProgress();
 //跳转到某个位置播放
 mediaPlayer.seekTo(progress);
 }
 });
 }


 public void isPlayOrPause(View view){
 //把View强转为ImageButton
 ImageButton imageButton = (ImageButton) view;

 if(mediaPlayer==null) {
 //实例化MediaPlayer
 //播放应用内的音乐
 //mediaPlayer = MediaPlayer.create(this, R.raw.yao);

 //播放内存卡中的音乐
 mediaPlayer = new MediaPlayer();

 //设置类型
 mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
 //设置音乐路径
 try {
 mediaPlayer.setDataSource(this, Uri.parse("storage/sdcard0/Music/a.mp3"));
 //播放之前准备一下
 mediaPlayer.prepare();
 } catch (IOException e) {
 e.printStackTrace();
 }


 //开始播放
 mediaPlayer.start();
 //图标修改为暂停的图标
 imageButton.setImageResource(android.R.drawable.ic_media_pause);
 //获取音乐的总时长
 int duration = mediaPlayer.getDuration();
 //设置进度条的最大值为音乐的总时长
 seekBar.setMax(duration);

 new MyThre().start();

 }//判断如果音乐在播放
 else if(mediaPlayer.isPlaying()){
 //就暂停音乐
 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
 public void run() {
 super.run();
 while(seekBar.getProgress()<=seekBar.getMax()){

 //获取当前音乐播放的位置
 int currentPosition = mediaPlayer.getCurrentPosition();

 //让进度条动起来
 seekBar.setProgress(currentPosition);
 }
 }
 }
}

3.添加读取内存的权限

更多关于播放器的内容请点击《java播放器功能》进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍python实现简易云音乐播放器,包括了python实现简易云音乐播放器的使用技巧和注意事项,需要的朋友参考一下 本人最近在学习python,在看了一些教程后,用python写了一个简单的云音乐播放器,下面把主要代码贴上来,其中用到了github上他人写的一个汉字转拼音的库,大家可以在github上找到。 由于最近事情较多加上我的技术还不到位,这个播放器有一个BUG我还没有解决,就是

  • 本文向大家介绍android实现简单音乐播放器,包括了android实现简单音乐播放器的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了android音乐播放器的具体代码,供大家参考,具体内容如下 话不多说先上效果 前言 写这个音乐播放器实在是迫不得已。因为我们Andoird课程要求写一个音乐播放器。所以就有了此项目。这个项目比较简单,实现了最基本的音乐播放功能,然后界面是仿照着网易云

  • 本文向大家介绍Android开发简易音乐播放器,包括了Android开发简易音乐播放器的使用技巧和注意事项,需要的朋友参考一下 这里介绍一个简易的音乐播放器,供大家参考,具体内容如下 效果图如下: 但是,由于这是一个简易版的音乐播放器,所播放的音乐只有一首,且被写死,但,操作却十分简单,方便理解! 这是代码的主要设计: 音乐主要存放在这一个文件中: 下面就来介绍各部分代码: activity—ma

  • 本文向大家介绍Android实现简单音乐播放器(MediaPlayer),包括了Android实现简单音乐播放器(MediaPlayer)的使用技巧和注意事项,需要的朋友参考一下 Android实现简单音乐播放器(MediaPlayer),供大家参考,具体内容如下 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 实现一个简单的音乐播放器,要

  • 本文向大家介绍Android利用SeekBar实现简单音乐播放器,包括了Android利用SeekBar实现简单音乐播放器的使用技巧和注意事项,需要的朋友参考一下 一.Demo简介  利用AIDL为Activity绑定服务,利用Handler机制,发送消息更新SeekBar的UI,利用计时器定时更新SeekBar的进度。实现对音乐的开始播放,到暂停,继续,以及停止播放的功能。以及实现拖动进度条播放

  • 本文向大家介绍Android实现简单音乐播放控件,包括了Android实现简单音乐播放控件的使用技巧和注意事项,需要的朋友参考一下 之前看到网页版的网易音乐播放控件, 正好在一个开源学习项目中需要简单的音乐播放功能。所以想是不是可以封装一个音乐播放控件,提供一个类似网易播放控件的默认界面,而且提供更换界面的功能。使用时,只需要去设计界面, 而不用再去管音乐播放的逻辑,所以就实现了一个简单的音乐播放