Android 使用VDPlayerSDK组件实现播放视频(一)

2 篇文章 0 订阅
1 篇文章 0 订阅

昨天研究了 Android 使用Vitamio实现播放视频(一) 但是有些其他原因,虽然好用,但是还是找了其他一些开源的。

就找到了:VDPlayerSDK

两者比较而言,个人认为
- Vitamio 代码简洁,集成方便。
- VDPlayerSDK 实现功能多,但是使用复杂。

VDPlayerSDK 项目地址:https://github.com/SinaVDDeveloper/

使用复杂度,在这里就体现出来了。
- 首先,你需要先导入core : https://github.com/SinaVDDeveloper/sinavideo_playercore
- 接着导入:https://github.com/SinaVDDeveloper/sinavideo_playersdk 导入sinavideo_playersdk后,选中sinavideo_playercore作为library
- 最后在你的项目中选中sinavideo_playersdk作为library

对了sinavideo_playercore和sinavideo_playersdk的android API要选择4.4w 就是API 20
否则一些代码会异常。
我测试的在4.0以上的手机使用是没问题的。
4.0一下请自行测试。

你也可以导入作者自己写的DEMO:https://github.com/SinaVDDeveloper/demo
里面写了多个DEMO,分析起来麻烦

1、在复制layout的时候,你会发现layout报错

error: No resource identifier found for attribute 'layerAttrs' in package 'xxxxx.xxx.xxx.x'

此时我们需要将
xmlns:app=”http://schemas.android.com/apk/res/xxxx”
更改为
xmlns:app=”http://schemas.android.com/apk/res/包名”

2、播放器初始化,要在app启动前进行初始化,才能解压出相应的解码器。参考MyApplication.java

3、需要导入权限

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

代码较多,请下载Demo查看
https://github.com/Mr-Sang/VDPlayerSDKDemo
基本上复制过去就能用,稍微改改链接地址就行了。
原作者:https://github.com/SinaVDDeveloper/sinavideo_playersdk

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
作者wanliyang1990,源码wlmedia,1、UsageGradle: implementation 'ywl.ywl5320:wlmedia:1.0.0-beta17'2、实例图片播放视频播放 byte[](如:标准的 h264 h265 等)播放音乐竖屏播放(自动保持宽高比)横屏播放(自动保持宽高比)3、调用方式配置 NDK 编译平台:defaultConfig {     ...     ndk {         abiFilter("arm64-v8a")         abiFilter("armeabi-v7a")         abiFilter("x86")         abiFilter("x86_64")     }     ... }基本权限接入代码(SDK API level:28)// WlSurfaceView 一般播放使用// WlTextureView 需要做透明、移动、旋转等使用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();//异步准备

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值