android 音视频播放SDK,几句代码即可实现音视频播放功能~
implementation 'ywl.ywl5320:wlmedia:1.0.0-beta17'
defaultConfig {
...
ndk {
abiFilter("arm64-v8a")
abiFilter("armeabi-v7a")
abiFilter("x86")
abiFilter("x86_64")
}
...
}
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
// WlSurfaceView 一般播放使用
<com.ywl5320.wlmedia.widget.WlSurfaceView
android:layout_width="match_parent"
android:layout_height="match_parent" />
// WlTextureView 需要做透明、移动、旋转等使用
<com.ywl5320.wlmedia.widget.WlTextureView
android:layout_width="match_parent"
android:layout_height="match_parent" />
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);//网络流超时时间
wlMedia.setShowPcmData(true);//回调返回音频pcm数据
wlMedia.setSampleRate(WlSampleRate.RATE_44100);//设置音频采样率为指定值(返回的PCM就是这个采样率)
wlSurfaceView.setWlMedia(wlMedia);//给视频surface设置播放器
//异步准备完成后开始播放
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("/storage/sdcard1/精灵宝可梦:就决定是你了.720p.国日粤三语.BD中字[最新电影www.66ys.tv].mp4");
wlMedia.prepared();//异步准备