您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > VitamioAPIforAndroid
VitamioAPIforAndroid:MediaPlayer类概述publicclassMediaPlayerMediaPlayer可控制播放音乐/视频和网络流。可以从VideoView找到使用这个类的方法。这个类与android.media.MediaPlayer的作用大部分相同。请参阅开发者指南音频和视频使用MediaPlayer。常量publicstaticfinalintMEDIA_ERROR_UNKNOWN播放错误,未知错误。常量值:0publicstaticfinalintMEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK播放错误(一般视频播放比较慢或视频本身有问题会引发)。常量值:200publicstaticfinalintMEDIA_INFO_VIDEO_TRACK_LAGGING视频过于复杂,无法解码:不能快速解码帧。此时可能只能正常播放音频。参见MediaPlayer.OnInfoListener。常量值:700publicstaticfinalintMEDIA_INFO_BUFFERING_STARTMediaPlayer暂停播放等待缓冲更多数据。常量值:701publicstaticfinalintMEDIA_INFO_BUFFERING_ENDMediaPlayer在缓冲完后继续播放。常量值:702publicstaticfinalintMEDIA_INFO_NOT_SEEKABLE媒体不支持Seek,例如直播流。常量值:801publicstaticfinalintMEDIA_INFO_DOWNLOAD_RATE_CHANGEDav_read_frame()的速度(KB/s)。常量值:901publicstaticfinalintVIDEOQUALITY_LOW视频质量——流畅。常量值:-16publicstaticfinalintVIDEOQUALITY_MEDIUM视频质量——普通。常量值:0publicstaticfinalintVIDEOQUALITY_HIGH视频质量——高质。常量值:16publicstaticfinalintSUBTITLE_INTERNAL字幕显示来自内置字幕。常量值:0publicstaticfinalintSUBTITLE_EXTERNAL字幕显示来自外置字幕。常量值:1publicstaticfinalString[]SUB_TYPESVitamio支持的外置字幕类型。常量值:{“.srt”,“.ssa”,“.smi”,“.txt”,“.sub”,“.ass”}公共方法publicstaticfinalbooleanisLibraryLoaded()动态链接库(so)是否已经成功加载完成。publicvoidsetDisplay(SurfaceHoldersh)设置用于显示媒体视频的SurfaceHolder。这个调用是可选的。只显示音频而不显示视频时不调用这个方法(例如后台播放)。参数sh用户显示视频的SurfaceHolderpublicvoidsetDataSource(Contextcontext,Uriuri)设置多媒体数据源,例如contextUri。(支持raw资源访问,例如:android.resource://com.your.package/R.raw.your_resource_id)参数context获取ContentResolver时要使用的Contexturi你要播放的uri异常IllegalArgumentException状态无效时引发(uri或context为空时引发)publicnativevoidsetDataSource(Stringpath)设置数据源(文件路径或http/rtsp/mmsURL)。publicnativevoidsetDataSource(FileDescriptorfd)设置数据源(FileDescriptor)。调用者在调用后要自行关闭FileDescriptor,最安全的做法是一返回就马上关闭。publicnativevoidprepare()预处理播放器为播放做准备,方法是同步执行。设置完数据源和显示的Surface后,你需要调用prepare()或prepareAsync()。对于文件,你可以直到媒体播放器准备播放时再调用prepare。publicnativevoidprepareAsync()预处理播放器为播放做准备,方法是异步执行。设置完数据源和显示的Surface后,你需要调用prepare()或prepareAsync()。对于流,你应该调用prepareAsync(),立即返回,而不是阻塞,直到足够的数据被缓冲。publicvoidstart()开始或继续播放。如果此前已暂停播放,那么就从暂停的地方播放。如果已经停止播放或还未开始播放,播放将从头开始。publicvoidstop()与pause()相同。publicvoidpause()暂停播放。调用start()恢复。publicvoidsetWakeMode(Contextcontext,intmode)设置MediaPlayer的底层电源管理。可以在MediaPlayer没有通过SurfaceHolder设置setDisplay播放时使用,从而使用高级别的setScreenOnWhilePlaying特性。本方法在MediaPlayer访问低级别电源管理控制设备电源时使用。参数是一个android.os.PowerManager唤醒组合标识。使用这个方法需要WAKE_LOCK权限。默认情况下不使用以保持设备唤醒播放。参数contextmode设置PowerManger电源/锁定模式publicvoidsetScreenOnWhilePlaying(booleanscreenOn)控制是否使用附加SurfaceHolder保持屏幕高亮持续播放视频。本方法可能优于使用setWakeMode,因为它不需要应用程序访问底层唤醒锁的权限。参数screenOn设置true将保持屏幕高亮,反之允许它关闭。publicnativeintgetVideoWidth()获取视频宽度。返回值返回视频的宽度,没有视频或宽度尚未确定时返回0。可以通过注册OnVideoSizeChangedListener当宽度有效时获得一个通知。publicnativeintgetVideoHeight()获取视频高度。返回值返回视频的高度,没有视频或高度尚未确定时返回0。可以通过注册OnVideoSizeChangedListener当高度有效时获得一个通知。publicnativebooleanisPlaying()检测MediaPlayer是否正在播放。publicnativevoidseekTo(longmsec)设置到指定时间位置播放。参数msec从开始位置到msec的偏移量(以毫秒为单位)异常IllegalStateException内部播放引擎未初始化引发publicnativelonggetCurrentPosition()获取当前播放位置。publicnativeBitmapgetCurrentFrame()获取当前视频帧。(可用于截图)publicnativelonggetDuration()获取多媒体播放持续时间。publicvoidrelease()释放与MediaPlayer相关的资源。当你使用完MediaPlayer完后调用此方法是一个好的编程习惯。publicvoidreset()复位(reset)MediaPlayer至未初始化状态。调用此方法后,你需要再次设置数据源,并通过prepare()来初始化。publicnativevoidsetVolume(floatleftVolume,floatrightVolume))设置音量。(范围0.0~1.0之间)publicvoidsetOnPreparedListener(OnPreparedListenerlistener))注册一个回调函数,在视频预处理完成后调用。publicvoidsetOnCompletionListener(OnCompletionListenerl)注册一个回调函数,视频播放完成后调用。publicvoidsetOnErrorListener(OnErrorListenerl)注册一个回调函数,在异步操作调用过程中发生错误时调用。例如视频打开失败。publicvoidsetOnBufferingUpdateListener(OnBufferingUpdateListenerl)注册一个回调函数,在网络视频流缓冲变化时调用。publicvoidsetOnSeekCompleteListener(OnSeekCompleteListenerl)注册一个回调函数,在seek操作完成后调用。publicvoidsetOnVideoSizeChangedListener(OnVideoSizeChangedListenerlistener)注册一个回调函数,在视频大小已知或更新后调用。publicvoidsetOnSubtitleUpdateListener(OnSubtitleUpdateListenerl)注册一个回调函数,在字幕需要显示时调用。publicvoidsetOnInfoListener(OnInfoListenerl)注册一个回调函数,在有警告或错误信息时调用。例如:开始缓冲、缓冲结束、下载速度变化。publicvoidreleaseDisplay()在播放音频的时候调用这个有效果。publicnativefloatgetVideoAspectRatio()获取视频宽高比例。返回值返回视频的宽高比。没有视频或者宽高不正确返回0。参见VideoView.setVideoLayout。publicnativevoidsetVideoQuality(intquality)设置视频质量。如果播放延迟比较严重,你可以尝试使用VIDEOQUALITY_LOW(流畅),默认VIDEOQUALITY_LOW(流畅)。参数quality参见MediaPlayer的常量:VIDEOQUALITY_LOW(流畅)、VIDEOQUALITY_MEDIUM(普通)、VIDEOQUALITY_HIGH(高质)。publicnativevoidsetDeinterlace(booleandeinterlace)设置视频反交错。publicnativevoidsetBufferSize(intbufSize)设置视频缓冲大小(默认1024KB)单位Byte。publicnativebooleanisBuffering()检测是否缓冲完毕。publicnativeintgetBufferProgress()参见OnBufferingUpdateListener。publicnativevoidsetMetaEncoding(Stringencoding)设置元数据编码。例如:UTF-8publicnativeStringgetMetaEncoding()获取元数据编码。publicHashMapstring,integer=getAudioTrackMap(Stringencoding)获取视频中嵌入的音轨。例如:EnglishpublicnativeintgetAudioTrack()设置播放音轨编号。publicnativevoidsetAudioTrack(intaudioIndex)设置音轨编号,必须使用getAudioTrackMap的返回值。publicvoidsetInitialAudioTrack(intaudioIndex)设置初始化音轨。publicvoidsetInitialSubTrack(intsubIndex)设置初始化字幕。publicnativevoidsetSubShown(bool
本文标题:VitamioAPIforAndroid
链接地址:https://www.777doc.com/doc-2866430 .html