Android 集成腾讯播放器sdk(支持多格式,直播,m3u8等)重点是免费

本文章不进行学术交流,仅用来记录一下,以便以后用到的时候快速集成,当然也方便其他小白拿来就用。

集成这种第三方一来方便,重点官方写的是  播放器 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)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要实现送礼物功能,需要结合腾讯云TRTCVoiceRoom语音直播SDK和自己的后台服务器进行开发。 以下是一般的开发流程: 1. 首先需要在自己的后台服务器上创建一个礼物列表,包括礼物ID、名称、价格、图片等信息。 2. 在客户端中,可以使用RecyclerView展示礼物列表,当用户点击某个礼物时,可以通过TRTCVoiceRoom SDK提供的发送自定义消息接口向直播间内的其他用户发送礼物消息。在发送礼物消息时,需要携带礼物ID和数量等信息。 3. 接收礼物消息的用户可以在接收到消息时播放相应的礼物动画,并将礼物数量加入自己的礼物数量中。 下面是大致的代码实现: 发送礼物消息: ``` // 在客户端中选中某个礼物后,构造礼物消息 JSONObject giftMsg = new JSONObject(); giftMsg.put("type", "gift"); giftMsg.put("gift_id", giftId); giftMsg.put("gift_num", num); // 将礼物消息发送到直播间内的其他用户 mTRTCVoiceRoom.sendRoomCustomMsg(giftMsg.toString(), new TRTCVoiceRoomCallback.ActionCallback() { @Override public void onCallback(int code, String msg) { if (code == 0) { // 礼物消息发送成功 } else { // 礼物消息发送失败 } } }); ``` 接收礼物消息: ``` // 在接收到自定义消息时,判断消息类型是否为礼物消息 JSONObject jsonMsg = new JSONObject(msg); String type = jsonMsg.optString("type"); if ("gift".equals(type)) { String giftId = jsonMsg.optString("gift_id"); int num = jsonMsg.optInt("gift_num"); // 播放礼物动画 playGiftAnimation(giftId); // 将礼物数量加入自己的礼物数量中 mMyGiftNum += num; } ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值