跳转到主内容
极星编程网:以代码为星,赴技术山海!

android多媒体音乐(MediaPlayer)播放器制作代码

本文实例为大家分享了android多媒体音乐播放器的具体实现代码,供大家参考,具体内容如下首先,在AndroidManifest.xml中配置权限注释:Android多媒体音乐的几种来源

1.在andriod的应用中

MediaPlayer.create(this, R.raw.roar);//mnt/sdcard/手机内存卡

2.放在自己的sd卡中(内存卡)

mediaPlayer.setDataSource(this, Uri.parse("file://mnt/sdcard/1/123.mp3"));

3.在网络上(要知道哪个路径)

mediaPlayer.setDataSource(this, Uri.parse("http://192.168.43.202:8080/sister.mp3"));

接下来,在Java代码中写在onCreate方法中写全局变量:

private MediaPlayer mediaPlayer;private SeekBar seekBar;private SurfaceView sv_main_suffce;

public void onplay(View view) throws IOException {imageButton = (ImageButton) view;if (mediaPlayer==null){//播放应用的音频文件// mediaPlayer = MediaPlayer.create(this, R.raw.roar);

//播放内存卡中的音频文件mediaPlayer=new MediaPlayer();//音频流的类型mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);//设置音频的来源// mediaPlayer.setDataSource(this, Uri.parse("file://mnt/sdcard/1/roar.mp3"));// mediaPlayer.prepare();//准备一下

//播放网络音乐mediaPlayer.setDataSource(this, Uri.parse("http://192.168.43.202:8080/crickets.mp3"));//一步准备mediaPlayer.prepareAsync();//设置准备完的监听mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {@Override public void onPrepared(MediaPlayer mediaPlayer) {//开始播放mediaPlayer.start();//点击播放改变图标imageButton.setImageResource(android.R.drawable.ic_media_pause);//获取音乐的播放最大时间int durtion=mediaPlayer.getDuration();//设置进度条的最大值为音乐的播放最大时间seekBar.setMax(durtion);new Mythred().start();}});//给进度条设置一个事件seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {@Override public void onProgressChanged(SeekBar seekBar, int i, boolean b) {}

@Override public void onStartTrackingTouch(SeekBar seekBar) {}

@Override public void onStopTrackingTouch(SeekBar seekBar) {//获取拖动的进度int progress=seekBar.getProgress();//到那个位置播放mediaPlayer.seekTo(progress);}});}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);}

}

写了一个子线程 extends Thread(seekbar进度条):class Mythrod extends Thread{@Override public void run() {super.run();while (seekBar.getProgress()<=seekBar.getMax()){//获取音乐的当前播放位置int currentPosition=mediaPlayer.getCurrentPosition();seekBar.setProgress(currentPosition);}}}另建一个类SoundActivity,通过soundPool例化音频池可以实现多种声音一起播放//实例化音频池soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC,0);soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {@Override public void onLoadComplete(SoundPool soundPool, int i, int status) {//播放soundPool.play(i,1,1,1,-1,1);}});

//写声音按钮的方法public void playKFC(View view){//音频池的路径soundPool.load(this,R.raw.rooster,1);}public void playTwo(View view){soundPool.load(this,R.raw.chimp,1);}public void playThree(View view){soundPool.load(this,R.raw.crickets,1);}public void playFour(View view){soundPool.load(this,R.raw.roar,1);}public void playDog(View view){soundPool.load(this,R.raw.dogbark,1);}

//销毁音频池soundPool@Override protected void onDestroy() {super.onDestroy();if(soundPool!=null){//释放内存soundPool.release();soundPool=null;}}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:Android实现使用流媒体播放远程mp3文件的方法Android实现多媒体之播放音乐Android多媒体之VideoView视频播放器Android多媒体教程之播放视频的四种方法Android 多媒体播放API简单实例Android开发之MediaPlayer多媒体(音频,视频)播放工具类Android开发之多媒体文件获取工具类实例【音频,视频,图片等】Android开发实现的IntentUtil跳转多功能工具类【包含视频、音频、图片、摄像头等操作功能】Android开发之媒体播放工具类完整示例

相关文章