Android学习笔记045之MediaPlayer

  这一篇我们介绍一下Android的音频和视频播放,重点讲解Mediaplayer这个类。 Android的MediaPlayer包含了Audio和Video的播放功能,在Android的界面上,Music和Video两个应用程序都是调用MediaPlaer来实现的。

概述

首先我们看一下Mediaplayer的生命周期图

下面我们看一下MediaPlayer提供的方法:

  • addTimedTextSource(Context context, Uri uri, String mimeType)方法:添加一个外部定时文本文件,重载方法:addTimedTextSource(String path, String mimeType)、addTimedTextSource(FileDescriptor fd, long offset, long length, String mime)、addTimedTextSource(FileDescriptor fd, String mimeType)
  • attachAuxEffect(int effectId)方法:给播放器附加一个播放效果
  • create(Context context, Uri uri, SurfaceHolder holder, AudioAttributes audioAttributes, int audioSessionId)方法:实例化Mediaplayer的方法,重载方法有:create(Context context, Uri uri, SurfaceHolder holder)、create(Context context, int resid, AudioAttributes audioAttributes, int audioSessionId)、create(Context context, int resid)、create(Context context, Uri uri)
  • deselectTrack(int index)方法:取消曲目
  • getAudioSessionId()方法:获取音乐的SessionID
  • getCurrentPosition()方法:获取当前播放位置
  • getDuration()方法:获取文件的播放时间
  • getPlaybackParams()方法:获取播放参数
  • getSelectedTrack(int trackType)方法:获取选中的曲目
  • getSyncParams()方法:获取Audio或者Vedio的同步模式
  • getTimestamp()方法:获取当前的播放位置作为一个时间戳
  • getTrackInfo()方法:获取轨道信息数组
  • getVideoHeight()方法:获取Vedio播放器的高度
  • getVideoWidth()方法:获取Vedio播放器的宽度
  • isLooping()方法:检查播放器是否在循环
  • isPlaying()方法:检查播放器是否在播放
  • pause()方法:暂停
  • prepare()方法:准备播放器进行播放
  • prepareAsync():异步准备播放器
  • release()方法:释放与当前Mediaplayer相关的资源
  • reset()方法:重置播放器状态
  • seekTo(int msec)方法:跳转到特定时间位置
  • selectTrack(int index)方法:选中一个曲目
  • setAudioAttributes(AudioAttributes attributes)方法:设置音频播放器的属性
  • setAudioSessionId(int sessionId)方法:设置音频播放器的SessionId
  • setAudioStreamType(int streamtype)方法:设置Mediaplayer的音频流类型
  • setAuxEffectSendLevel(float level)方法:设置播放器的第二电平附加作用
  • setDataSource(String path)方法:设置多媒体资源位置,重载方法有:setDataSource(Context context, Uri uri, Map

音频播放

使用Mediaplayer实现音频播放有几个步骤:

  1. 创建Mediaplayer对象,这有几种方法,一种是直接new出来,另外一种是通过调用create方法,需要注意的是:直接new出来需要调用prepare方法,建议使用prepareAsync方法完成准备;调用create方法就不能调用prepare方法,否则会出现状态异常

  2. 通过setDataSource()方法设置音频文件的路径,当然这里只是很简单的,实际开发中会采取其他方法

3.调用start方法开始播放音频

下面我们通过一个小例子实现音频播放

首先是布局文件代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
x
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值