wlmedia播放器集成— 常用api
Posted ywl5320
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wlmedia播放器集成— 常用api相关的知识,希望对你有一定的参考价值。
前言:
APIS:
- WlMedia
public void setSource(String source) //设置数据源
public void prepared() //异步准备
public void next() //切换下一首
public void start() //异步准备好后,开始播放
public void pause() //暂停
public void resume() //继续播放(相对于暂停)
public void stop() //停止播放(不回收surface资源)
public void release() //停止播放并回收surface资源
public void setVolume(double volume) //设置音量(0~200 100为原始大小)
public void setUseSoundTouch(boolean useSoundTouch) //是否使用SoundTouch变速变调(默认:false)
public void setSpeed(double speed) //设置播放速度(0.5~4.0 1.0为正常速度)
public void setPitch(double pitch) //设置音调(0.5~4.0 1.0为正常音调)
public void seek(double seekTime) //指定seek播放位置(视频为最近的关键帧)单位s
public void seekStart() //暂停播放时间回调
public void seekEnd() //回复播放时间回调
public double getNowTime() //获取当前播放时间(单位s)
public double getDuration() //获取时长,直播为-1
public void setTimeOut(int timeOut) //设置超时时间
public void setLoopPlay(boolean loopPlay) //循环播放
public void takePicture() //截屏
public int getVideoWidth() //获取视频宽
public int getVideoHeight() //获取视频高
public boolean isPlaying() //是否在播放中
public void setSmoothTime(boolean smooth) //是否回调每一帧时间戳
public void setCallBackPcmData(boolean callBackPcmData) //是否回调pcm数据
public int getSurfaceWidth() //获取surface宽度
public int getSurfaceHeight() //获取surface高度
public void setClearLastPicture(boolean clearLastPicture) //播放结束是否清屏
public void setVideoClearColor(float rgba_r, float rgba_g, float rgba_b, float rgba_a) //设置清屏颜色
public void setFshader(String fShader) //自定义视频滤镜
public void changeFilter() //使滤镜生效
public void scaleVideo(int w, int h) //按比例缩放视频
public void setBufferSize(WlBufferType bufferType, double bufferValue) //设置缓存策略(枚举:时间、内存大小、队列数量)
public void setSourceType(WlSourceType sourceType) //设置数据源类型(枚举:url、加密file、byte[])
public void setPlayModel(WlPlayModel playModel) //设置播放模式(枚举:只播放音频、只播放视频、同时播放音视频)
public void setCodecType(WlCodecType codecType) //设置解码类型(枚举:硬解优先,使用软解)
public void setSampleRate(WlSampleRate sampleRate) //设置音频播放采样率(枚举:如:8000、...、44100、48000)
public void setAlphaVideoType(WlAlphaVideoType alphaVideoType) //播放透明视频(枚举:左右透明通道)
public WlMediaInfoBean[] getAudioTracks() //获取所有音频轨道信息
public WlMediaInfoBean[] getVideoTracks() //获取所有视频轨道信息
public WlMediaInfoBean[] getSubtitleTracks() //获取所有字幕轨道信息
public void setAudioTrack(int trackIndex) //设置当前播放音频轨道
public void setSubtitleTrack(int trackIndex) //设置当前播放字幕轨道
public void setFFOptions(String key, String value) //设置FFmpeg参数(如:setFFOptions("rtsp_transport", "tcp"))
public void setOnMediaInfoListener(WlOnMediaInfoListener onMediaInfoListener) //必须回调
void onPrepared(); //异步准备好
void onError(int code, String msg); //错误信息
void onComplete(WlComplete type, String msg); //播放完成
void onTimeInfo(double currentTime, double bufferTime); //时间回调
void onSeekFinish(); //seek完成
void onLoopPlay(int loopCount); //循环播放次数
void onLoad(boolean load); //加载回调接口
byte[] decryptBuffer(byte[] encryptBuffer); //加密数据解密回调
byte[] readBuffer(int read_size); //播放byte[]类型数据入口
void onPause(boolean pause); //暂停回调
public void setOnTakePictureListener(WlOnTakePictureListener onTakePictureListener) //截图bitmap回调
void takePicture(Bitmap bitmap); //截图回调
public void setOnPcmDataListener(WlOnPcmDataListener onPcmDataListener) //pcm数据回调
void onPcmInfo(int bit, int channel, int samplerate); //回调pcm信息
void onPcmData(int size, byte[] data, double db); //回调pcm数据 注:此接口和音频播放位于同一线程,尽量不要做耗时操作,如果需要耗时操作,建议使用队列缓存后处理!
-
WlSurfaceView、WlTextureView
public void setWlMedia(WlMedia wlMedia) //设置播放器
public void enableAlphaVideo(boolean enable) //是否启动透明视频播放
public void setOnVideoViewListener(WlOnVideoViewListener onVideoViewListener) //surfaceview事件
void initSuccess(); //surface初始化完成回调
void onSurfaceChange(int width, int height); //surface大小改变
void moveX(double value, int move_type); //左右滑动
void onSingleClick(); //单击
void onDoubleClick(); //双击
void moveLeft(double value, int move_type); //左边上下滑动
void moveRight(double value, int move_type); //右边上下滑动
- WlMediaUtil
public void setSource(String source) //设置数据源
public int openSource() //打开数据源
public WlMediaInfoBean[] getMediaInfo() //获取所有轨道基础信息
public int openCodec() //打开解码器
public Bitmap getVideoImg(double time, boolean keyFrame) //获取指定帧
public void release() //销毁资源
以上就是wlmedia中常用api
源码地址:传送门
以上是关于wlmedia播放器集成— 常用api的主要内容,如果未能解决你的问题,请参考以下文章