Android 集成腾讯播放器sdk(支持多格式,直播,m3u8等)重点是免费
本文章不进行学术交流,仅用来记录一下,以便以后用到的时候快速集成,当然也方便其他小白拿来就用。集成这种第三方一来方便,重点官方写的是 播放器 SDK 属于免费产品官网:https://cloud.tencent.com/document/product/881这里只是进行简单的加载m3u8地址,进行播放监控的demo,并不使用官方提供的UI库,所以不需要导入 superplayerkit 这个mo
本文章不进行学术交流,仅用来记录一下,以便以后用到的时候快速集成,当然也方便其他小白拿来就用。
集成这种第三方一来方便,重点官方写的是 播放器 SDK 属于免费产品
官网:https://cloud.tencent.com/document/product/881
这里只是进行简单的加载m3u8地址,进行播放监控的demo,并不使用官方提供的UI库,所以不需要导入 superplayerkit 这个module
而我习惯采用老方式的jar+so的方式,所以集成如下
1.导入jar与.so文件 到libs目录下
2.在app下的build.gradle文件中添加如下配置
defaultConfig {
...
ndk {
abiFilters "armeabi","armeabi-v7a"
}
}
...
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
...
dependencies{
...
implementation files('libs\\liteavsdk.jar')
}
3.在视频layout布局文件下使用原生腾讯播放器组件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.tencent.rtmp.ui.TXCloudVideoView
android:id="@+id/vv"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
4. 在播放界面
package com.demo.video;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.VideoView;
import com.tencent.rtmp.TXLiveConstants;
import com.tencent.rtmp.TXLivePlayer;
import com.tencent.rtmp.ui.TXCloudVideoView;
public class MainActivity extends AppCompatActivity {
private TXCloudVideoView v;
private TXLivePlayer mLivePlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
v=findViewById(R.id.vv);
mLivePlayer = new TXLivePlayer(MainActivity.this);
//关键 player 对象与界面 view
mLivePlayer.setPlayerView(v);
mLivePlayer.setRenderMode(TXLiveConstants.RENDER_MODE_ADJUST_RESOLUTION);
String url="https://xxxxx.m3u8";
mLivePlayer.startPlay(url, TXLivePlayer.PLAY_TYPE_VOD_HLS); //推荐 FLV
}
@Override
protected void onResume() {
super.onResume();
// 继续
mLivePlayer.resumeAudio();
mLivePlayer.resumeVideo();
}
@Override
protected void onPause() {
super.onPause();
mLivePlayer.pauseAudio();
mLivePlayer.pauseVideo();
}
@Override
protected void onDestroy() {
super.onDestroy();
mLivePlayer.stopPlay();
}
}
别忘记加个最基本的上网权限
常用设置:
1.画面调整
setRenderMode:铺满或适应
可选值 | 含义 |
---|---|
RENDER_MODE_FULL_FILL_SCREEN | 将图像等比例铺满整个屏幕,多余部分裁剪掉,此模式下画面不会留黑边,但可能因为部分区域被裁剪而显示不全。 |
RENDER_MODE_ADJUST_RESOLUTION | 将图像等比例缩放,适配最长边,缩放后的宽和高都不会超过显示区域,居中显示,画面可能会留有黑边。 |
setRenderRotation:画面旋转
可选值 | 含义 |
---|---|
RENDER_ROTATION_PORTRAIT | 正常播放(Home 键在画面正下方) |
RENDER_ROTATION_LANDSCAPE | 画面顺时针旋转270度(Home 键在画面正左方) |
特别说明
视频云 SDK 不会对播放地址的来源做限制,即您可以用它来播放腾讯云或非腾讯云的播放地址。但视频云 SDK 中的播放器只支持 FLV 、RTMP 和 HLS(m3u8)三种格式的直播地址,以及 MP4、 HLS(m3u8)和 FLV 三种格式的点播地址。
附上这个简易demo地址:
https://download.csdn.net/download/qq_30548105/21778203?spm=1001.2014.3001.5503
本人个人原创,如有雷同,纯属巧合,或者与本人联系,做改动。请转载或者CV组合标明出处,谢谢!(如有疑问或错误欢迎指出,本人QQ:752231513)
更多推荐
所有评论(0)