この記事は学術交流を行うものではなく、将来使用するときにすぐに統合できるように記録するためにのみ使用されます。もちろん、他の小白が使用するのにも便利です。
このサードパーティを統合すると便利ですが、重要な点は、 プレーヤー 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)