Android 音视频播放SDK,几句代码即可实现音视频播放功能~
![](https://camo.githubusercontent.com/1b7edf3ee195ca50c56674e57a925f83e4e9b39896a5c03c026032b4635020e5/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f32303231303531363135353335383836322e6a7067)
3.1 ![](https://camo.githubusercontent.com/a4073c986db42cf4a766ba5e80f69b42abea8599c563d5a98250a4e8f9aad01a/68747470733a2f2f6a69747061636b2e696f2f762f77616e6c6979616e67313939302f776c6d656469612e737667)
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.wanliyang1990:wlmedia:2.0.0'
}
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
defaultConfig {
...
ndk {
abiFilter("arm64-v8a")
abiFilter("armeabi-v7a")
abiFilter("x86")
abiFilter("x86_64")
}
...
}
// WlSurfaceView 一般播放使用
<com.ywl5320.wlmedia.surface.WlSurfaceView
android:layout_width="match_parent"
android:layout_height="match_parent" />
// WlTextureView 需要做透明、移动、旋转等使用
<com.ywl5320.wlmedia.surface.WlTextureView
android:layout_width="match_parent"
android:layout_height="match_parent" />
WlSurfaceView wlSurfaceView = findViewById(R.id.wlsurfaceview);
WlMedia wlMedia = new WlMedia();
wlMedia.setSource(url);
wlSurfaceView.setWlMedia(wlMedia);
wlMedia.setOnMediaInfoListener(new WlOnMediaInfoListener() {
@Override
public void onPrepared() {
//异步准备好后开始播放
wlMedia.start();
}
@Override
public void onError(int code, String msg) {
//错误回调,主要用于查看错误信息
}
@Override
public void onComplete(WlComplete type, String msg) {
//播放完成(包含:正常播放完成、超时播放完成、手动触发播放完成等)
}
@Override
public void onTimeInfo(double currentTime, double bufferTime) {
//时间回调,当前时间和缓冲时间
}
@Override
public void onSeekFinish() {
//seek完成后回调,可用于类似iptv这种快进快退
}
@Override
public void onLoopPlay(int loopCount) {
//循环播放此时回调
}
@Override
public void onLoad(boolean load) {
//加载状态回调
}
@Override
public byte[] decryptBuffer(byte[] encryptBuffer) {
return new byte[0];
}
@Override
public byte[] readBuffer(int read_size) {
return new byte[0];
}
@Override
public void onPause(boolean pause) {
//暂停回调
}
});
wlSurfaceView.setOnVideoViewListener(new WlOnVideoViewListener() {
@Override
public void initSuccess() {
//surfaceview初始化完成
wlMedia.prepared();
}
@Override
public void onSurfaceChange(int width, int height) {
//surfaceview大小改变
}
@Override
public void moveX(double value, int move_type) {
//surfaceview横向左右滑动
}
@Override
public void onSingleClick() {
//surfaceview单击事件
}
@Override
public void onDoubleClick() {
//surfaceview双击事件
}
@Override
public void moveLeft(double value, int move_type) {
//surfaceview左侧上下滑动事件
}
@Override
public void moveRight(double value, int move_type) {
//surfaceview右侧上下滑动事件
}
});
![](https://camo.githubusercontent.com/92e2d49225d4620a159f53a60bafb9f694bd46d98f644d1749aca4f9564e195b/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f32303231303531363135353932393432352e706e67)
-keep class com.ywl5320.wlmedia.* {*;}
Create By:ywl5320 2019-12-16