• 使用MediaPlayer播放音频-----之一


    MediaPlayer提供了如下方法来指定装载相应的音频文件:

    1、void  setDataSource( String  path):指定装载path路径所代表的文件。

    2、void  setDataSource(FileDescriptor  fd, long  offset , long  length ):指定装载fd所代表的文件中从offset开始、长度为length的文件内容。

    3、void  setDataSource(FileDescriptor  fd ):指定装载发的所代表的文件。

    4、void  setDataSource(Context  context , Uri  uri ):指定装载Uri所代表的文件。

    执行上面的setDataResource()方法之后,MediaPlayer并未真正去装载那些音频文件,还需要调用MediaPlayer的prepare()方法去准备音频,所谓“准备”,就是让MediaPlayer真正去装载音频文件。

    使用已有的MediaPlayer对象装载“下一首”歌曲的代码模板为:

    try {
      mPlayer.reset();
      //装载下一首歌曲
      mPlayer.setDataSource(“/mnt/sdcard/next.mp3”);
      //准备声音
      mPlayer.prepare();
      //播放
      mPlayer.start();
    } catch (IOException e) {
      e.printStackTrace();
    }

    除此之外,MediaPlayer还提供了一些绑定事件监听器的方法,用于监听MediaPlayer播放过程中所发生的特定事件,绑定事件监听器的方法如下:

    setOnCompletionListener(MediaPlayer.OnCompletionListener   listener):为MediaPlayer的播放完成事件绑定事件监听器。

    setOnErrorListener(MediaPlayer.OnErrorListener   listener):为MediaPlayer的播放错误事件绑定事件监听器。

    setOnSeekCompleteListener(MediaPlayer.OnSeekCompleteListener   listener):当MediaPlayer调用prepare()方法时触发该监听器。

    setOnPreparedListener(MediaPlayer.OnPreparedListener   listener):当MediaPlayer调用seek()方法时触发该监听器。

  • 相关阅读:
    一个意外错误使你无法删除该文件,文件或目录损坏且无法读取(转)
    测验3: 基本数据类型 (第3周)-程序题
    Oracle深入学习
    自动化测试
    时尚随感
    SQL-使用事务删除重复记录行
    HDU1878欧拉回路
    简单的完全背包HDU1114
    简单的背包变形HDU1203,HDU2955
    简单的背包问题(入门)HDU2602 HDU2546 HDU1864
  • 原文地址:https://www.cnblogs.com/jiww/p/5616378.html
Copyright © 2020-2023  润新知