这一篇我们介绍一下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

这篇博客详细介绍了Android的MediaPlayer类,包括其生命周期、常用方法,以及如何使用MediaPlayer进行音频和视频播放。音频播放步骤包括创建对象、设置数据源和启动播放。视频播放部分展示了如何利用VideoView进行网络视频播放的实现。

1331

被折叠的 条评论
为什么被折叠?



