[M2] 1、视频下载优化

This commit is contained in:
wangmingjun
2023-03-08 15:34:38 +08:00
parent 39afcde96c
commit 96256811a9
3 changed files with 20 additions and 19 deletions

View File

@@ -72,13 +72,17 @@ class AdvanceGSYVideoPlayer: StandardGSYVideoPlayer {
}
fun setCacheImageViewVisible() {
setViewShowState(mThumbImageViewLayout, VISIBLE)
setViewShowState(mThumbImageView, VISIBLE)
if (mThumbImageViewLayout.visibility == INVISIBLE){
setViewShowState(mThumbImageViewLayout, VISIBLE)
setViewShowState(mThumbImageView, VISIBLE)
}
}
fun setCacheImageViewGone() {
setViewShowState(mThumbImageViewLayout, INVISIBLE)
setViewShowState(mThumbImageView, INVISIBLE)
if (mThumbImageViewLayout.visibility == VISIBLE){
setViewShowState(mThumbImageViewLayout, INVISIBLE)
setViewShowState(mThumbImageView, INVISIBLE)
}
}
//失去焦点声音压低

View File

@@ -2,23 +2,22 @@ package com.mogo.och.bus.passenger.ui.widget.video
import android.annotation.SuppressLint
import android.content.Context
import android.os.Environment
import android.net.Uri
import android.util.AttributeSet
import android.widget.ImageView
import android.widget.RelativeLayout
import com.alibaba.idst.nui.FileUtil
import com.bumptech.glide.Glide
import com.bumptech.glide.request.RequestOptions
import com.mogo.eagle.core.utilcode.breakpoint.bean.ThreadBean
import com.mogo.eagle.core.utilcode.breakpoint.callback.IDownload
import com.mogo.eagle.core.utilcode.breakpoint.utils.DownloadUtils
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.eagle.core.utilcode.util.FileUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.och.bus.passenger.R
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder
import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack
import java.io.File
import java.io.FilenameFilter
import java.lang.Exception
/**
@@ -40,7 +39,8 @@ class AdvanceVideoView @JvmOverloads constructor(
private var mVideoDirPath: String? = ""
init {
mVideoDirPath = context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)?.absolutePath + File.separator
mVideoDirPath = context.filesDir.absolutePath+ File.separator + "video" + File.separator
// mVideoDirPath = Config.downLoadPath
initView()
}
@@ -111,12 +111,8 @@ class AdvanceVideoView @JvmOverloads constructor(
fun clearLocalErrorVideo(){
if (downloadVideoName.isNotEmpty()
&& FileUtil.isFileExist(mVideoDirPath + downloadVideoName)){
FileUtil.delete(mVideoDirPath + downloadVideoName,object: FilenameFilter{
override fun accept(dir: File?, name: String?): Boolean {
return true
}
})
&& FileUtils.isFileExists(mVideoDirPath + downloadVideoName)){
FileUtils.delete(mVideoDirPath + downloadVideoName)
}
}
@@ -139,8 +135,7 @@ class AdvanceVideoView @JvmOverloads constructor(
Logger.d(ImageAndVideoRotation.TAG,
"video local url = $mVideoDirPath$downloadVideoName"
)
var file = File(mVideoDirPath,downloadVideoName)
if (file.exists()){
if (FileUtils.isFileExists(mVideoDirPath+downloadVideoName)){
Logger.d(ImageAndVideoRotation.TAG, "have cache startPlay")
startPlay()
return
@@ -152,6 +147,7 @@ class AdvanceVideoView @JvmOverloads constructor(
private fun startDownLoadVideo(){
//下载视频, 下载成功后再播放
Logger.d(ImageAndVideoRotation.TAG, "startDownLoadVideo")
FileUtils.createFileDir(mVideoDirPath)
DownloadUtils.downLoad(context,fileNetPath,mVideoDirPath
,downloadVideoName,5,downListener)
}
@@ -160,7 +156,9 @@ class AdvanceVideoView @JvmOverloads constructor(
try {
Logger.d(ImageAndVideoRotation.TAG, "startPlay")
gsyVideoOptionBuilder = GSYVideoOptionBuilder()
gsyVideoOptionBuilder?.setUrl("file://$mVideoDirPath$downloadVideoName") // "/data/user/0/com.mogo.launcher.f/files/downloads/"
gsyVideoOptionBuilder
// ?.setUrl("file:///mnt/sdcard/downloads/$downloadVideoName")
?.setUrl(Uri.fromFile(File(mVideoDirPath+downloadVideoName)).toString()) // "/data/user/0/com.mogo.launcher.f/files/video/"
?.setPlayTag(downloadVideoName)
?.setCacheWithPlay(false)
?.setThumbPlay(false)

View File

@@ -5,7 +5,6 @@ import static com.mogo.eagle.core.utilcode.breakpoint.Config.DOWN_LOAD_TAG;
import android.util.Log;
import com.mogo.eagle.core.utilcode.breakpoint.Config;
import com.mogo.eagle.core.utilcode.breakpoint.bean.FileBean;
import com.mogo.eagle.core.utilcode.breakpoint.bean.ThreadBean;
import com.mogo.eagle.core.utilcode.breakpoint.callback.DownloadCallBack;
@@ -51,7 +50,7 @@ public class DownloadThread extends Thread {
int start = threadBean.getStart() + threadBean.getFinished();
connection.setRequestProperty("Range","bytes="+start+"-"+threadBean.getEnd());
//设置写入位置
File file = new File(fileBean.getFileName().contains(".zip") ? Config.downLoadObuPath : Config.downLoadPath,fileBean.getFileName());
File file = new File(fileBean.getSavePath(),fileBean.getFileName());
raf = new RandomAccessFile(file,"rwd");
raf.seek(start);
//开始下载