Android は Tencent プレーヤー SDK を統合 (マルチフォーマット、ライブブロードキャスト、m3u8 などをサポート) フォーカスは無料です

この記事は学術交流を行うものではなく、将来使用するときにすぐに統合できるように記録するためにのみ使用されます。もちろん、他の小白が使用するのにも便利です。

このサードパーティを統合すると便利ですが、重要な点は、  プレーヤー SDK が無料の製品であることです。

公式ウェブサイト: https: //cloud.tencent.com/document/product/881

ここでは m3u8 アドレスを単純にロードするだけで、再生モニタリングのデモは公式 UI ライブラリを使用しないため、スーパープレイヤーキット モジュールをインポートする必要はありません。

そして、私は古い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. ビデオ レイアウト ファイルの下でネイティブ Tencent プレーヤー コンポーネントを使用します。
<?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 通常再生(ホームボタンは画面直下)
RENDER_ROTATION_LANDSCAPE 画面が時計回りに 270 度回転します (ホーム ボタンは画面の左側にあります)

特記事項

ビデオ クラウド SDK は、 再生アドレスのソースを制限しません。つまり、これを使用して、Tencent Cloud または Tencent Cloud 以外の再生 URL を再生できます。ただし、Video Cloud SDK のプレーヤーは、FLV、RTMP、HLS (m3u8) の 3 つの形式のライブ アドレスと、MP4、HLS (m3u8)、FLV の 3 つの形式のオンデマンド アドレスのみをサポートします。

この簡単なデモのアドレスを添付してください。

https://download.csdn.net/download/qq_30548105/21778203?spm=1001.2014.3001.5503

私の個人的な創作物で、類似点がある場合、それは全くの偶然であるか、変更を加えるために私に連絡してください。出典を明記して転載またはCVの組み合わせをお願いします。ありがとうございます! (ご質問や間違いがございましたら、ご指摘ください、私の QQ:752231513)

おすすめ

転載: blog.csdn.net/qq_30548105/article/details/120027818