简介:一款专为Android平台打造的高效音视频播放解决方案,支持多种格式文件流畅播放,提供丰富的API接口和文档,助力开发者快速集成优质多媒体功能。
作者wanliyang1990,源码wlmedia
### 使用Gradle:
```gradle
implementation ywl.ywl5320:wlmedia:1.0.0-beta17
```
### 实例图片展示(播放功能)
- 视频播放:支持标准的 h264 和 h265 等格式。
- 音乐播放
- 支持竖屏和横屏自动保持宽高比
### 调用方式配置
#### NDK 编译平台:
```gradle
defaultConfig {
...
ndk {
abiFilter arm64-v8a
abiFilter armeabi-v7a
abiFilter x86
abiFilter x86_64
}
}
```
#### 基本权限接入代码(SDK API level:28)
- 使用 `WlSurfaceView` 用于一般播放
- 使用 `WlTextureView` 需要做透明、移动、旋转等
```java
// 初始化 WlMedia 对象,支持多实例播放(主要对于音频,视频实际验证效果不佳)
WlMedia wlMedia = new WlMedia();
wlMedia.setPlayModel(WlPlayModel.PLAYMODEL_AUDIO_VIDEO); // 声音和视频都播放
wlMedia.setCodecType(WlCodecType.CODEC_MEDIACODEC); // 优先使用硬解码
wlMedia.setMute(WlMute.MUTE_CENTER); // 立体声
wlMedia.setVolume(80); // 音量设置为80%
wlMedia.setPlayPitch(1.0f); // 正常速度播放
wlMedia.setPlaySpeed(1.0f); // 正常音调播放
wlMedia.setRtspTimeOut(30); // 网络流超时时间设置为30秒
wlMedia.setShowPcmData(true); // 回调返回音频 pcm 数据
wlMedia.setSampleRate(WlSampleRate.RATE_44100); // 设置音频采样率为 44.1kHz
// 给视频 surface 设置播放器
wlSurfaceView.setWlMedia(wlMedia);
// 异步准备完成后开始播放
wlMedia.setOnPreparedListener(new WlOnPreparedListener() {
@Override
public void onPrepared() {
wlMedia.setVideoScale(WlScaleType.SCALE_16_9); // 设置视频比例为 16:9
wlMedia.start(); // 开始播放
double duration = wlMedia.getDuration(); // 获取时长
}
});
// 设置 url 源并开始异步准备
wlMedia.setSource(精灵宝可梦:就决定是你了.720p.国日粤三语.BD 中字.mp4);
wlMedia.prepared();
```