-
Notifications
You must be signed in to change notification settings - Fork 1k
API
dueeeke edited this page Dec 24, 2019
·
9 revisions
很久没更新了,建议直接看我源码中的注释
方法名 | 简介 |
---|---|
public void setUrl(String url) | 设置播放地址 |
public void setUrl(String url, Map<String, String> headers) | 设置包含请求头信息的视频地址 |
public void setAssetFileDescriptor(AssetFileDescriptor fd) | 播放assets里面的视频文件 |
public void setVideoController(@Nullable BaseVideoController mediaController) | 设置控制器,可以为null,表示移除控制器 |
public void start() | 开始播放的逻辑 |
public void pause() | 暂停播放 |
public void resume() | 从暂停播放中恢复播放 |
public void stopPlayback() | 停止播放 |
public void release() | 停止播放并释放播放器 |
public long getDuration() | 获取视频总时长 |
public long getCurrentPosition() | 获取当前播放的进度 |
public int getBufferedPercentage() | 获取当前缓冲的进度 |
public void seekTo(long pos) | 调整播放进度 |
public boolean isPlaying() | 从播放器内部判断是否正在播放 |
public void setMute(boolean isMute) | 设置是否静音 |
public boolean isMute() | 是否处于静音状态 |
public int getCurrentPlayerState() | 获取当前播放器的状态 |
public int getCurrentPlayState() | 获取当前的播放状态 |
public long getTcpSpeed() | 获取缓冲的网速 |
public void setSpeed(float speed) | 设置播放速度 |
public void replay(boolean resetPosition) | 重新播放,resetPosition 是否从头开始播放 |
public void skipPositionWhenPlay(int position) | 一开始播放就seek到预先设置好的位置 |
public void setVolume(float v1, float v2) | 设置音量, 0.0f-1.0f 之间 ,v1 左声道音量, v2 右声道音量 |
public void setProgressManager(@Nullable ProgressManager progressManager) | 设置进度管理器,用于保存播放进度 |
public void setLooping(boolean looping) | 循环播放, 默认不循环播放 |
public void setAutoRotate(boolean autoRotate) | 是否自动旋转, 默认不自动旋转 |
public void setUsingSurfaceView(boolean usingSurfaceView) | 是否启用SurfaceView,默认不启用 |
public void setEnableAudioFocus(boolean enableAudioFocus) | 是否开启AudioFocus监听, 默认开启 |
public void setEnableMediaCodec(boolean enableMediaCodec) | 是否使用MediaCodec进行解码(硬解码),默认不开启,使用软解 |
public void addOnVideoViewStateChangeListener(@NonNull OnVideoViewStateChangeListener listener) | 监听播放状态变化 |
public void removeOnVideoViewStateChangeListener(@NonNull OnVideoViewStateChangeListener listener) | 移除状态监听 |
public void clearOnVideoViewStateChangeListeners() | 移除所有状态监听 |
public void startFullScreen() | 进入全屏 |
public void stopFullScreen() | 退出全屏 |
public boolean isFullScreen() | 是否处于全屏 |
public boolean onBackPressed() | 用于改变返回键的逻辑 |
public void setScreenScale(int screenScale) | 设置视频显示比例 |
public void setMirrorRotation(boolean enable) | 设置是否开镜像旋转 |
public Bitmap doScreenShot() | 视频截图 |
public int[] getVideoSize() | 获取视频宽高,其中width: mVideoSize[0], height: mVideoSize[1] |
public void setRotation(float rotation) | 旋转画面 rotation 需要旋转的角度 |
public void startTinyScreen() | 开启小屏播放 |
public void stopTinyScreen() | 退出小屏播放 |
public boolean isTinyScreen() | 是否处于小屏播放状态 |
public void setTinyScreenSize(int[] tinyScreenSize) | 设置小屏的宽高 |
名称 | 简介 |
---|---|
STATE_ERROR | 播放出错 |
STATE_IDLE | 静止状态,此时播放器还未进行初始化 |
STATE_PREPARING | 正在准备播放,调用了prepareAsync()即进入此状态 |
STATE_PREPARED | 准备完成状态,播放器此时会回调了onPrepared()方法 |
STATE_PLAYING | 正在播放状态,调用了start()方法即进入此状态 |
STATE_PAUSED | 暂停播放状态,调用了pause()方法即进入此状态 |
STATE_PLAYBACK_COMPLETED | 播放完成状态,播放器此时会回调onCompletion()方法 |
STATE_BUFFERING | 缓冲状态,seekTo方法会触发此状态,播放器此时会回调onInfo()方法 |
STATE_BUFFERED | 缓冲结束状态,播放器此时会回调onInfo()方法 |
名称 | 简介 |
---|---|
PLAYER_NORMAL | 小屏状态 |
PLAYER_FULL_SCREEN | 全屏状态 |
名称 | 简介 |
---|---|
SCREEN_SCALE_DEFAULT | 默认的比例,按照视频宽高等比缩放并填充视频框,视频比例和视频框比例不同时有黑边 |
SCREEN_SCALE_16_9 | 16:9,画面可能变形 |
SCREEN_SCALE_4_3 | 4:3,画面可能变形 |
SCREEN_SCALE_MATCH_PARENT | 填充视频框,画面可能变形 |
SCREEN_SCALE_ORIGINAL | 以视频原始宽高显示,可能出现裁切画面,显示不全 |
SCREEN_SCALE_CENTER_CROP | 和ImageView的CenterCrop类似,可能出现裁切画面,显示不全 |
方法名 | 简介 |
---|---|
protected abstract int getLayoutId() | 抽象方法,设置控制器布局文件,子类必须实现 |
public void show() | 控制器显示 |
public void hide() | 控制器隐藏 |
public void setPlayerState(int playerState) | 用于在IjkVideoView中向控制器传递播放器状态 |
public void setPlayState(int playState) | 用于在IjkVideoView中向控制器传递播放状态 |
public void showStatusView() | 显示错误界面和网络提示界面 |
public void hideStatusView() | 隐藏错误界面和网络提示界面 |
protected void doPauseResume() | 播放和暂停的逻辑 |
protected void doStartStopFullScreen() | 横竖屏切换的逻辑 |
protected int setProgress() | 实现刷新进度条的逻辑 |