说到视频,现在短视频,小视频真是火的不行,抖音,快手,更是很多人手机上必会安装的一款app。那如何开发一款类似于抖音,集视频播放,直播,点播,拍摄,滤镜于一体的app呢,想想那都是相当的复杂。说到这里,就要提阿里云的视频点播了。废话了一通,咱言归正传,哈哈!
1:首先贴出官方的地址:阿里云视频点播
2:sdk的集成步骤,这里就不多说了,官网上有详细的教程:集成文档
不过这里建议大家,可以先下载官方的demo,把demo中的仓库直接导入你的项目中即可!像我这样如图:
3:如何播放一个简单视频
说明一下:写文章时,我用的最新sdk版本是 4.7.0 哦,这里也只贴出关键代码,更多详细代码在文章末尾有地址链接的。
导入sdk成功后,记得清单文件相应权限不要忘记添加。
(1)初始化视频播放
private void initAliyunPlayerView() {
String sdDir = Environment.getExternalStorageDirectory().getAbsolutePath() + "/test_save_cache";
File file = new File(sdDir);
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
mAliyunVodPlayerView = findViewById(R.id.aliyunVodPlayerView);
//保持屏幕敞亮
mAliyunVodPlayerView.setKeepScreenOn(true);
PlayParameter.PLAY_PARAM_URL = GlobalConfig.DEFAULT_URL;
mAliyunVodPlayerView.setPlayingCache(false, sdDir, 60 * 60 /*时长, s */, 300 /*大小,MB*/);
mAliyunVodPlayerView.setTheme(AliyunVodPlayerView.Theme.Blue);
mAliyunVodPlayerView.setCirclePlay(false);//是否循环播放
mAliyunVodPlayerView.setAutoPlay(true);//是否自动播放
}
(2)播放视频:
private void playVideo() {
UrlSource urlSource = new UrlSource();
urlSource.setUri(PlayParameter.PLAY_PARAM_URL);
PlayerConfig playerConfig = mAliyunVodPlayerView.getPlayerConfig();
//默认是5000
int maxDelayTime = 5000;
if (PlayParameter.PLAY_PARAM_URL.startsWith("artp")) {
//如果url的开头是artp,将直播延迟设置成100,
maxDelayTime = 100;
}
playerConfig.mMaxDelayTime = maxDelayTime;
mAliyunVodPlayerView.setPlayerConfig(playerConfig);
mAliyunVodPlayerView.setLocalSource(urlSource);
}
(3)常用的几个播放监听
mAliyunVodPlayerView.setOnPlayStateBtnClickListener(new AliyunVodPlayerView.OnPlayStateBtnClickListener() {
@Override
public void onPlayBtnClick(int playerState) {
if (playerState == IPlayer.started) {
Log.i(TAG, "onPlayBtnClick: 暂停");
} else if (playerState == IPlayer.paused) {
Log.i(TAG, "onPlayBtnClick: 播放");
} else {
Log.i(TAG, "onPlayBtnClick: else");
}
}
});
mAliyunVodPlayerView.setOnCompletionListener(new IPlayer.OnCompletionListener() {
@Override
public void onCompletion() {
Log.i(TAG, "onCompletion: 视频正常播放完成");
}
});
mAliyunVodPlayerView.setOnFirstFrameStartListener(new IPlayer.OnRenderingStartListener() {
@Override
public void onRenderingStart() {
Log.i(TAG, "onRenderingStart: 视频第一帧开始");
}
});
//网络连接监听
mAliyunVodPlayerView.setNetConnectedListener(new AliyunVodPlayerView.NetConnectedListener() {
@Override
public void onReNetConnected(boolean isReconnect) {
}
@Override
public void onNetUnConnected() {
}
});
到此如何播放一个视频就说完啦。
【Android视频 之 阿里云视频播放器 二】
ps:试看功能的实现;防淘宝列表滑动,视频小窗口播放的功能实现;
码云源码地址
参考博客:
扫描二维码关注公众号,回复:
9236287 查看本文章
GSYVideoPlayer
基于ijkplayer的一个封装框架 star目前为止有:11.5k多,并且一直更新维护中…