本文实例为大家分享了android多媒体音乐播放器的具体实现代码,供大家参考。

android多媒体音乐(MediaPlayer)播放器制造代码(android mediaplayer播放音乐)  android 多媒体音乐 代码 第1张

本文实例为我们共享了android多媒体音乐播映器的详细完成代码,供我们参阅,详细内容如下。

首要,在AndroidManifest.xml中装备权限

  1. <!--读取手机中的音乐-->
  2. <uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"/>

注释:Android多媒体音乐的几种来历

1. 在andriod的使用中

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

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

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

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

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

接下来,在Java代码中写

在onCreate办法中写全局变量:

  1. privateMediaPlayermediaPlayer;
  2. privateSeekBarseekBar;
  3. privateSurfaceViewsv_main_suffce;
  4. publicvoidonplay(Viewview)throwsIOException{
  5. imageButton=(ImageButton)view;
  6. if(mediaPlayer==null){
  7. //播映使用的音频文件
  8. //mediaPlayer=MediaPlayer.create(this,R.raw.roar);
  9. //播映内存卡中的音频文件
  10. mediaPlayer=newMediaPlayer();
  11. //音频流的类型
  12. mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
  13. //设置音频的来历
  14. //mediaPlayer.setDataSource(this,Uri.parse("file://mnt/sdcard/1/roar.mp3"));
  15. //mediaPlayer.prepare();//预备一下
  16. //播映网络音乐
  17. mediaPlayer.setDataSource(this,Uri.parse("http://192.168.43.202:8080/crickets.mp3"));
  18. //一步预备
  19. mediaPlayer.prepareAsync();
  20. //设置预备完的监听
  21. mediaPlayer.setOnPreparedListener(newMediaPlayer.OnPreparedListener(){
  22. @Override
  23. publicvoidonPrepared(MediaPlayermediaPlayer){
  24. //开端播映
  25. mediaPlayer.start();
  26. //点击播映改动图标
  27. imageButton.setImageResource(android.R.drawable.ic_media_pause);
  28. //获取音乐的播映***时刻
  29. intdurtion=mediaPlayer.getDuration();
  30. //设置进展条的***值为音乐的播映***时刻
  31. seekBar.setMax(durtion);
  32. newMythred().start();
  33. }
  34. });
  35. //给进展条设置一个事情
  36. seekBar.setOnSeekBarChangeListener(newSeekBar.OnSeekBarChangeListener(){
  37. @Override
  38. publicvoidonProgressChanged(SeekBarseekBar,inti,booleanb){
  39. }
  40. @Override
  41. publicvoidonStartTrackingTouch(SeekBarseekBar){
  42. }
  43. @Override
  44. publicvoidonStopTrackingTouch(SeekBarseekBar){
  45. //获取拖动的进展
  46. intprogress=seekBar.getProgress();
  47. //到那个方位播映
  48. mediaPlayer.seekTo(progress);
  49. }
  50. });
  51. }
  52. elseif(mediaPlayer.isPlaying()){
  53. mediaPlayer.pause();
  54. imageButton.setImageResource(android.R.drawable.ic_media_play);
  55. }
  56. else{
  57. mediaPlayer.start();
  58. imageButton.setImageResource(android.R.drawable.ic_media_pause);
  59. }
  60. }

写了一个子线程 extends Thread(seekbar进展条):

  1. classMythrodextendsThread{
  2. @Override
  3. publicvoidrun(){
  4. super.run();
  5. while(seekBar.getProgress()<=seekBar.getMax()){
  6. //获取音乐的当时播映方位
  7. intcurrentPosition=mediaPlayer.getCurrentPosition();
  8. seekBar.setProgress(currentPosition);
  9. }
  10. }
  11. }

另建一个类SoundActivity,经过soundPool例化音频池能够完成多种声响一同播映

  1. //实例化音频池
  2. soundPool=newSoundPool(4,AudioManager.STREAM_MUSIC,0);
  3. soundPool.setOnLoadCompleteListener(newSoundPool.OnLoadCompleteListener(){
  4. @Override
  5. publicvoidonLoadComplete(SoundPoolsoundPool,inti,intstatus){
  6. //播映
  7. soundPool.play(i,1,1,1,-1,1);
  8. }
  9. });
  10. //写声响按钮的办法
  11. publicvoidplayKFC(Viewview){
  12. //音频池的途径
  13. soundPool.load(this,R.raw.rooster,1);
  14. }
  15. publicvoidplayTwo(Viewview){
  16. soundPool.load(this,R.raw.chimp,1);
  17. }
  18. publicvoidplayThree(Viewview){
  19. soundPool.load(this,R.raw.crickets,1);
  20. }
  21. publicvoidplayFour(Viewview){
  22. soundPool.load(this,R.raw.roar,1);
  23. }
  24. publicvoidplayDog(Viewview){
  25. soundPool.load(this,R.raw.dogbark,1);
  26. }
  27. //毁掉音频池soundPool
  28. @Override
  29. protectedvoidonDestroy(){
  30. super.onDestroy();
  31. if(soundPool!=null){
  32. //开释内存
  33. soundPool.release();
  34. soundPool=null;
  35. }
  36. }

以上便是本文的全部内容,期望对我们的学习有所协助。

转载请说明出处
知优网 » android多媒体音乐(MediaPlayer)播放器制造代码(android mediaplayer播放音乐)

发表评论

您需要后才能发表评论