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


    MediaPlayer播放不同来源的音频文件:

    一、播放应用的资源文件

         1.调用MediaPlayer的create(Context  context , int  resid)方法加载指定资源文件。

         2.调用MediaPlayer的start()、pause()、stop()等方法控制播放即可。

      注:音频资源文件一般放在Android应用的/res/raw目录下。

    二、播放应用的原始资源文件

      1.调用Context的getAssets()方法获取应用的AssetManager。

      2.调用AssetManager对象的openFd(String  name)方法打开指定的原生资源,该方法返回一个AssetFileDescriptor对象。

      3.调用AssetFileDescriptor的getFileDescriptor()、getStartOffset()和getLength()方法来获取音频文件的FileDescriptor、开始位置、长度等。

      4.创建MediaPlayer对象,并调用MediaPlayer对象的setDataResource(FileDescriptor  fd , long  offset  ,long  length )方法来装载音频资源。

      5.调用MediaPlayer对象的prepare()方法准备音频。

      6.调用MediaPlayer的start()、pause()、stop()等方法控制播放即可。

      注:虽然MediaPlayer提供了setDataSource(FileDescriptor  fd)方法来装载指定音频资源,但实际使用时这个方法似乎有问题:不管程序调用openFf(String  name)方法

      时指定打开哪个原始资源,MediaPlayer将总是播放第一个原始的音频资源。

    三、播放外部存储器上音频文件。

      1.创建MediaPlayer对象,并调用MediaPlayer对象的setDataSource(String  path)方法装载指定音频文件。

      2.调用MediaPlayer对象的prepare()方法准备音频。

      3。调用MediaPlayer的start()、stop()等方法控制播放即可。

    四、播放来自网络的音频文件

      播放来自网络的音频文件有两种方式:

      1.直接使用MediaPlayer的静态create(Context  context , Uri  uri)方法;

      2.调用MediaPlayer的setDataSource(Context  context  Uri  uri)装载指定Uri对应的音频文件。

      以第二种方式播放来自网络的音频文件的步骤:

            1.根据网络上的音频文件所在的位置创建Uri对象。

        2.创建MediaPlayer对象,并调用MediaPlayer对象的setDataSource(Context  context  ,Uri  uri)方法装载Uri对应的音频文件。

        3.调用MediaPlayer对象的prepare()方法准备音频。

        4.调用MediaPlayer的start()、pause()、stop()等方法控制播放即可。

  • 相关阅读:
    Uploadify & jQuery.imgAreaSelect 插件实现图片上传裁剪
    Web 开发者不可不知的15条编码原则
    ASP.net 判断上传文件类型的三种方法
    《JavaScript 实战》:实现图片幻滑动展示效果
    如何构建一个很棒网站页脚(Website Footer)
    机器为什么可以学习(1)---测试和训练过程
    机器什么时候可以学习(4) --- 学习的可能性(feasibility of learning)
    算法学习--二分查找的学习
    逻辑回归-监督学习
    线性回归—监督学习
  • 原文地址:https://www.cnblogs.com/jiww/p/5616491.html
Copyright © 2020-2023  润新知