SYQY网游福利站-新活动速递_热门攻略_礼包中心

一、播放本地视频文件

根据文件路径在浏览器中播放,可用于视频预览等场景

效果:

用浏览器播放本地视频

文件路径例子: /storage/emulated/0/Android/data/com.custom.jfrb/files/Movies/1697687179497.mp4

File file = new File("文件路径");

Intent intent = new Intent(Intent.ACTION_VIEW);

intent.putExtra("oneshot", 0);

intent.putExtra("configchange", 0);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {

intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

Uri contentUri = FileProvider.getUriForFile(UploadVideoActivity.this, getContext().getPackageName() + ".provider", file);

intent.setDataAndType(contentUri, "video/*");

} else {

intent.setDataAndType(Uri.fromFile(file), "video/*");

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

}

startActivity(intent);

二、播放Url视频(GSYVideoPlayer类的使用)

效果:

播放Url视频

1、导入依赖

implementation 'com.github.CarGuo.GSYVideoPlayer:GSYVideoPlayer:v8.1.7-release-jitpack'

2、xml文件

android:id="@+id/video_player"

android:layout_width="match_parent"

android:layout_height="220dp" />

3、Activity中调用

(1) 绑定控件

@InjectView(id = R.id.video_player)

StandardGSYVideoPlayer mVideoPlayer;

(2)播放视频 视频Url例子:https://recordcdn-qk.jfdaily.com/upload/vod/user1694515885005019/1697678251135382/preview/video.mp4

//播放横屏视频

boolean setUp = mVideoPlayer.setUp("视频Url", true, "名字");

//设置封面

// if (setUp) {

// Glide.with(this).load(productItem.getCapture()).into((ImageView) mVideoPlayer.getThumbImageView());

// }

//隐藏自带的标题和返回键

mVideoPlayer.getTitleTextView().setVisibility(View.GONE);

mVideoPlayer.getBackButton().setVisibility(View.GONE);

//全屏按键

mVideoPlayer.getFullscreenButton().setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mVideoPlayer.startWindowFullscreen(ProductDetailActivity.this,false,true);

}

});

GSYVideoType.setShowType(GSYVideoType.SCREEN_TYPE_DEFAULT);

//根据视频尺寸,自动选择竖屏全屏或者横屏全屏

mVideoPlayer.setAutoFullWithSize(true);

//全屏动画

mVideoPlayer.setShowFullAnimation(true);

//循环播放

mVideoPlayer.setLooping(true);

//开始播放

mVideoPlayer.startPlayLogic();

(3)相关生命周期中添加操作

@Override

public void onBackPressed() {

if (GSYVideoManager.backFromWindowFull(this)){

return;

}

super.onBackPressed();

}

@Override

protected void onResume() {

super.onResume();

mVideoPlayer.onVideoResume();

}

@Override

protected void onPause() {

super.onPause();

mVideoPlayer.onVideoPause();

}

@Override

protected void onDestroy() {

super.onDestroy();

GSYVideoADManager.releaseAllVideos();

}

三、使用腾讯播放器播放视频Url(无UI集成)

1、导入依赖

官方文档:腾讯播放器,无UI集成(Android),SDK指引 版本可更换

compile 'com.tencent.liteav:LiteAVSDK_Professional:11.7.0.13946'

2、腾讯播放器初始化

private void TXVideoPlayerInit(){

String licenceURL = ......; // 获取到的 licence url

String licenceKey = ......; // 获取到的 licence key

TXLiveBase.getInstance().setLicence(this, licenceURL, licenceKey);

TXLiveBase.setListener(new TXLiveBaseListener() {

@Override

public void onLicenceLoaded(int result, String reason) {

Log.d(TAG, "腾讯播放器初始化:onLicenceLoaded: result:" + result + ", reason:" + reason);

}

});

}

3、使用

(1)xml文件中放入控件

android:id="@+id/video_player"

android:layout_width="match_parent"

android:layout_height="match_parent"/>

(2)Activity中调用

@InjectView(id = R.id.video_player)

TXCloudVideoView mVideoPlayer;

TXVodPlayer mVodPlayer;

初始化:

mVodPlayer = new TXVodPlayer(mContext);

//关联 player 对象与视频渲染 view

mVodPlayer.setPlayerView(mVideoPlayer);

播放Url:

mVodPlayer.startVodPlay(“视频Url”);

停止播放、恢复播放方法,更多其他方法可参考官方文档:点播场景

if(mVodPlayer != null)

{

mVodPlayer.pause();

}

if(mVodPlayer != null)

{

mVodPlayer.resume();

}

(3)生命周期中需要补全的

@Override

protected void onDestroy() {

mVodPlayer.stopPlay(true); // true 代表清除最后一帧画面

mVideoPlayer.onDestroy();

super.onDestroy();

}

四、持续更新中…