time 
设为首页】【收藏本站
当前位置: 主页 > 电脑网络 > 操作系统 > 嵌入式 > Android > Android应用开发入门(五十八)MediaPlayer介绍及使用

Android应用开发入门(五十八)MediaPlayer介绍及使用

时间:2013-11-25 13:21 点击:1848次 字体:[ ]




前言

  Android提供了常见的音频、视频的编码、解码机制。借助于多媒体类MediaPlayer的支持,开发人员可以很方便在在应用中播放音频、视频。本文主要讲解在Android平台下如何播放一个音频文件。

  本文主要内容如下:

  • MediaPlayer
  • MediaPlayer的音频源
  • 使用MediaPlayer播放音乐
  • MediaPlayer使用技巧
  • Demo--一个简单的MP3播放器

  

MediaPlayer

  上面提到过,Android下对于音频、视频的支持均需要使用到MediaPlayer,它主要用来控制Android下播放文件或流的类。MediaPlayer处于Android多媒体包下"android.media.MediaPlayer",仅有一个无参的构造函数,虽然仅为我们提供了一个无参的构造函数,为了方便我们初始化,还为我们提供了几个静态的create()方法用于完成MediaPlayer初始化的工作。

  • static MediaPlayer create(Context context,int resid):通过音频资源的Id来创建一个MediaPlayer实例。
  • static MediaPlayer create(Context context,Uri uri):通过一个音频资源的Uri地址来创建一个MediaPlayer实例。

  MediaPlayer除了通过上面两个create()方法在初始化的时候指定媒体资源,还可以通过MediaPlayer.setDataSource()方法为初始化后的MediaPlayer设置媒体资源,setDataSource()具有多个重载函数,适用于不同的媒体资源来源,以下讲解几个常用的,其他的可以查阅官方文档。

  • void setDataSource(String path):通过一个媒体资源的地址指定MediaPlayer的数据源,这里的path可以是一个本地路径,也可以是网络路径。
  • void setDataSource(Context context,Uri uri):通过一个Uri指定MediaPlayer的数据源,这里的Uri可以是网络路径或这一个内容提供者的Uri。
  • void setDataSource(FileDescriptor fd):通过一个FileDescriptor指定一个MediaPlayer的数据源。

 

MediaPlayer的音频源

  通过上面介绍的初始化MediaPlayer的播放时媒体数据源的方法可以看出,MediaPlayer支持的数据源有:本地文件、内部的Uri(内容提供者)、外部Uri。

  如,设置一个本地SD卡的资源:

  1. mediaPlayer = new MediaPlayer();  
  2. mediaPlayer.setDataSource("/sdcarc/a.mp3"); 

  注意读内存卡,还需要设定访问内存卡的权限:

  1. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 

  如,设置一个外部uri的网络流媒体资源:

  1. mediaPlayer = new MediaPlayer();  
  2. mediaPlayer.setDataSource(http://192.168.1.102:1231/music/a.mp3); 

  如果访问网络流媒体资源,还需要设置访问网络的权限:

  1. <uses-permission android:name="android.permission.INTERNET"/> 

 



本文地址 : http://www.fengfly.com/plus/view-214094-1.html
标签: Android MediaPlayer
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: