




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Vitamio API for Android : MediaPlayer类概述public class MediaPlayerMediaPlayer可控制播放音乐/视频和网络流。可以从VideoView找到使用这个类的方法。这个类与android.media.MediaPlayer的作用大部分相同。请参阅开发者指南音频和视频使用MediaPlayer。常量public static final int MEDIA_ERROR_UNKNOWN播放错误,未知错误。常量值:0public static final int MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_
2、PLAYBACK播放错误(一般视频播放比较慢或视频本身有问题会引发)。常量值:200public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING视频过于复杂,无法解码:不能快速解码帧。此时可能只能正常播放音频。参见MediaPlayer.OnInfoListener。常量值:700public static final int MEDIA_INFO_BUFFERING_STARTMediaPlayer暂停播放等待缓冲更多数据。常量值:701public static final int MEDIA_INFO_BUFFERING_ENDMediaP
3、layer在缓冲完后继续播放。常量值:702public static final int MEDIA_INFO_NOT_SEEKABLE媒体不支持Seek,例如直播流。常量值:801public static final int MEDIA_INFO_DOWNLOAD_RATE_CHANGEDav_read_frame()的速度(KB/s)。常量值:901public static final int VIDEOQUALITY_LOW视频质量流畅。常量值:-16public static final int VIDEOQUALITY_MEDIUM视频质量普通。常量值:0public stat
4、ic final int VIDEOQUALITY_HIGH视频质量高质。常量值:16public static final int SUBTITLE_INTERNAL字幕显示来自内置字幕。常量值:0public static final int SUBTITLE_EXTERNAL字幕显示来自外置字幕。常量值:1public static final String SUB_TYPESVitamio支持的外置字幕类型。常量值: “.srt”, “.ssa”, “.smi”, “.txt”, “.sub”, “.ass” 公共方法public static final boolean isLibr
5、aryLoaded()动态链接库(so)是否已经成功加载完成。public void setDisplay(SurfaceHolder sh)设置用于显示媒体视频的SurfaceHolder。这个调用是可选的。只显示音频而不显示视频时不调用这个方法(例如后台播放)。参数sh 用户显示视频的SurfaceHolderpublic void setDataSource(Context context, Uri uri)设置多媒体数据源,例如context Uri。(支持raw资源访问,例如:android.resource:/com.your.package/R.raw.your_resource
6、_id)参数context 获取ContentResolver时要使用的Contexturi 你要播放的uri异常IllegalArgumentException 状态无效时引发(uri或context为空时引发)public native void setDataSource(String path)设置数据源(文件路径或http/rtsp/mms URL)。public native void setDataSource(FileDescriptor fd)设置数据源(FileDescriptor)。调用者在调用后要自行关闭FileDescriptor,最安全的做法是一返回就马上关闭。pu
7、blic native void prepare()预处理播放器为播放做准备,方法是同步执行。设置完数据源和显示的Surface后,你需要调用prepare()或prepareAsync()。对于文件,你可以直到媒体播放器准备播放时再调用prepare。public native void prepareAsync()预处理播放器为播放做准备,方法是异步执行。设置完数据源和显示的Surface后,你需要调用prepare()或prepareAsync()。对于流,你应该调用prepareAsync(),立即返回,而不是阻塞,直到足够的数据被缓冲。public void start()开始或继续
8、播放。如果此前已暂停播放,那么就从暂停的地方播放。如果已经停止播放或还未开始播放,播放将从头开始。public void stop()与pause()相同。public void pause()暂停播放。调用start()恢复。public void setWakeMode(Context context, int mode)设置MediaPlayer的底层电源管理。可以在MediaPlayer没有通过SurfaceHolder 设置setDisplay播放时使用,从而使用高级别的setScreenOnWhilePlaying特性。本方法在MediaPlayer访问低级别电源管理控制设备电源时
9、使用。参数是一个android.os.PowerManager唤醒组合标识。使用这个方法需要WAKE_LOCK权限。默认情况下不使用以保持设备唤醒播放。参数contextmode 设置PowerManger电源/锁定模式public void setScreenOnWhilePlaying(boolean screenOn)控制是否使用附加SurfaceHolder保持屏幕高亮持续播放视频。本方法可能优于使用setWakeMode,因为它不需要应用程序访问底层唤醒锁的权限。参数screenOn 设置true将保持屏幕高亮,反之允许它关闭。public native int getVideoWi
10、dth()获取视频宽度。返回值返回视频的宽度,没有视频或宽度尚未确定时返回0。可以通过注册OnVideoSizeChangedListener当宽度有效时获得一个通知。public native int getVideoHeight()获取视频高度。返回值返回视频的高度,没有视频或高度尚未确定时返回0。可以通过注册OnVideoSizeChangedListener当高度有效时获得一个通知。public native boolean isPlaying()检测MediaPlayer是否正在播放。public native void seekTo(long msec)设置到指定时间位置播放。参数
11、msec 从开始位置到msec的偏移量(以毫秒为单位)异常IllegalStateException 内部播放引擎未初始化引发public native long getCurrentPosition()获取当前播放位置。public native Bitmap getCurrentFrame()获取当前视频帧。(可用于截图)public native long getDuration()获取多媒体播放持续时间。public void release()释放与MediaPlayer相关的资源。当你使用完MediaPlayer完后调用此方法是一个好的编程习惯。public void reset(
12、)复位(reset)MediaPlayer至未初始化状态。调用此方法后,你需要再次设置数据源,并通过prepare()来初始化。public native void setVolume(float leftVolume, float rightVolume)设置音量。(范围0.01.0之间)public void setOnPreparedListener(OnPreparedListener listener)注册一个回调函数,在视频预处理完成后调用。public void setOnCompletionListener(OnCompletionListener l)注册一个回调函数,视频播
13、放完成后调用。public void setOnErrorListener(OnErrorListener l)注册一个回调函数,在异步操作调用过程中发生错误时调用。例如视频打开失败。public void setOnBufferingUpdateListener(OnBufferingUpdateListener l)注册一个回调函数,在网络视频流缓冲变化时调用。public void setOnSeekCompleteListener(OnSeekCompleteListener l)注册一个回调函数,在seek操作完成后调用。public void setOnVideoSizeChang
14、edListener(OnVideoSizeChangedListener listener)注册一个回调函数,在视频大小已知或更新后调用。public void setOnSubtitleUpdateListener(OnSubtitleUpdateListener l)注册一个回调函数,在字幕需要显示时调用。public void setOnInfoListener(OnInfoListener l)注册一个回调函数,在有警告或错误信息时调用。例如:开始缓冲、缓冲结束、下载速度变化。public void releaseDisplay()在播放音频的时候调用这个有效果。public nat
15、ive float getVideoAspectRatio()获取视频宽高比例。返回值返回视频的宽高比。没有视频或者宽高不正确返回0。参见VideoView.setVideoLayout。public native void setVideoQuality(int quality)设置视频质量。如果播放延迟比较严重,你可以尝试使用VIDEOQUALITY_LOW(流畅),默认VIDEOQUALITY_LOW(流畅)。参数quality 参见MediaPlayer的常量:VIDEOQUALITY_LOW(流畅)、VIDEOQUALITY_MEDIUM(普通)、VIDEOQUALITY_HIGH(
16、高质)。public native void setDeinterlace(boolean deinterlace)设置视频反交错。public native void setBufferSize(int bufSize)设置视频缓冲大小(默认1024KB)单位Byte。public native boolean isBuffering()检测是否缓冲完毕。public native int getBufferProgress()参见OnBufferingUpdateListener。public native void setMetaEncoding(String encoding)设置元数
17、据编码。例如:UTF-8public native String getMetaEncoding()获取元数据编码。public HashMap<string, integer=""> getAudioTrackMap(String encoding)获取视频中嵌入的音轨。例如:Englishpublic native int getAudioTrack()设置播放音轨编号。public native void setAudioTrack(int audioIndex)设置音轨编号,必须使用getAudioTrackMap的返回值。public void set
18、InitialAudioTrack(int audioIndex)设置初始化音轨。public void setInitialSubTrack(int subIndex)设置初始化字幕。public native void setSubShown(boolean shown)设置是否显示字幕。参数shown true表示显示字幕public native void setSubEncoding(String encoding)设置字幕编码。参数encoding 字幕编码。如果为null将自动检测。public native int getSubLocation()获取字幕位置类型。0为内嵌字幕
19、,1为外挂字幕。public native void setSubPath(String subPath)设置外挂字幕路径。必须是本地文件路径。public native String getSubPath()获取外挂字幕路径。public native void setSubTrack(int trackId)设置字幕编号。必须是getSubTrackMap的返回值。public native int getSubTrack()获取字幕编号。public HashMap<string, integer=""> getSubTrackMap(String enc
20、oding)获取视频内嵌字幕集合。参数encoding 格式化字符串编码。如果为null将自动检测。返回值返回字幕名称和字幕编号组成的Map。受保护方法protected void finalize()调用了native_finalize。MediaPlayer内部接口public interface OnBufferingUpdateListenervoid onBufferingUpdate(MediaPlayer mp, int percent)更新流媒体缓存状态。参数mp 要更新的MediaPlayerpercent 已缓冲的百分比数(0 100)public interface OnErrorListenerboolean onError(MediaPlayer mp, int what, int extra)错误信息。参数mp 错误相关的MediaPlayerwhat 错误类型,参见MEDIA_ERROR_UNKNOWN、MEDIA_ERROR_NOT_VALID_FOR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025项目招标与合同管理
- 2025借款担保合同范本
- 2025模范后勤劳动合同
- 2025年版补充租房合同协议书
- 远程医疗如何推动2025年偏远地区医疗服务模式创新报告
- 2025年制造业数字化协同管理在食品行业的风险控制报告
- 基于深度学习的2025年智能客服情感分析技术演进研究
- 金融行业风险管理数字化2025年风险管理与数字化转型创新案例报告
- 零售企业数字化供应链协同风险控制与防范报告
- 农村文化礼堂建设实施方案2025:打造乡村文化品牌的发展策略
- 新22J01 工程做法图集
- GB/T 2440-2017尿素
- GB/T 17166-2019能源审计技术通则
- 充电设施安全风险辨识清单
- FTA-故障树分析系统培训讲义课件
- 钙与维生素D的补充教案课件
- 中国胸痛中心建设流程及认证标准解读课件
- DB44-T 1661-2021《河道管理范围内建设项目技术规程》-(高清现行)
- 常见天线以及调整方法及规范
- 六年级品社《春天的故事》(课堂PPT)
- xx年度中层干部述职指标及评分表
评论
0/150
提交评论