博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android:MediaPlayer
阅读量:4614 次
发布时间:2019-06-09

本文共 1515 字,大约阅读时间需要 5 分钟。

(一)

private MediaPlayer mediaplayer =null;

mediaplayer = MediaPlayer.create(Player.this,Uri.parse("file://"+path));    //Player是现在这个activity,path是路径

mediaplayer.start();     //开始播放

mediaplayer.pause();  //暂定

mediaplayer.stop();    //停止

mediaplayer.release();   //释放资源

 

path的获取:

              String SDCardRoot = Environment.getExternalStorageDirectory().getAbsolutePath();

              String path = SDCardRoot + File.separator + "music" + File.separator+ name_click;

(二)

 

        private MediaPlayer mediaplayer =null;

        mediaplayer = new mediaplayer();

       //播放歌曲

        private void playmusic(int positions){

       String path = Environment.getExternalStorageDirectory() + "/"
                                              + "music/" + list_names.get(positions);
         try {
                   mediaplayer.reset(); //reset重新设置播放器引擎
                   mediaplayer.setDataSource(path);
                   System.out.println(path + "2");
                   mediaplayer.prepare();                                                                  //new MediaPlayer()必须得有
                   mediaplayer.start();
                   mediaplayer.setOnCompletionListener(new OnCompletionListener() { //歌曲播放完监听器
                   public void onCompletion(MediaPlayer mp) {
                   nextmusic();
                   }
                   });
                   } catch (IllegalArgumentException e) {
                       // TODO Auto-generated catch block
                     e.printStackTrace();
                    } catch (IllegalStateException e) {
                     // TODO Auto-generated catch block
                     e.printStackTrace();
                     } catch (IOException e) {
                       e.printStackTrace();
                      }

                      }

       

//播放下一首歌曲

            private void nextmusic() {
           if(position<list_names.size()){
             playmusic(++position);
            }
           else {
           position=0;
           playmusic(position);
          }
           }

 

在mp.pausr();再mp.start();后面遇到mp.preper()会报错,这是由于播放引擎的工作状态引起的,必须先进行mp.stop();然后再操作,在进行播放完之后也不行设置mp.reset();

转载于:https://www.cnblogs.com/nuistlr/archive/2012/09/05/2672454.html

你可能感兴趣的文章
VSSより、指定したファイルを取得するマクロ(パス入り)
查看>>
Java 计算两个日期相差月数
查看>>
C# api 得到机器名
查看>>
转:Complete reference of all STSADM operations (with parameters) in MOSS 2007 SP1
查看>>
在oracle官网上,找到我们所需版本的jdk
查看>>
ie background repeat 出现空白
查看>>
iOS -Swift 3.0 -UILabel属性大全
查看>>
iOS开发UI篇—UITabBarController简单介绍
查看>>
Android应用程序的安装位置
查看>>
G - SDOI
查看>>
[LeetCode]Reverse Linked List
查看>>
HDU5807 Keep In Touch (BestCoder Round #86 D ) 分布式dp
查看>>
医保接口实现的基本流程
查看>>
pb数据窗口下拉数据窗口列的排序(翻译)
查看>>
Asp.net的__EVENTARGUMENT __EVENTTARGET一些参考网址
查看>>
2019春季第十二周作业
查看>>
Windows10无法打开NVIDA控制面板
查看>>
已经一周没有开锅了
查看>>
Ruby基础笔记
查看>>
oc38--类工厂方法在继承中
查看>>