Commit 5e6232ae by 霍志良

feat:课程播放改用IJKplayer

parent 1f9bed96
......@@ -16,7 +16,7 @@ ext {
"m-muse" : "0.0.28.25",
"m-tests" : "0.0.24.15",
"m-course" : "0.0.42.82",
"m-course" : "0.0.43.28",
//-------------- 业务模块 API 层 --------------
"m-audioim-api" : "0.0.6",
......@@ -37,7 +37,7 @@ ext {
//第二步 若干
"ydl-webview" : "0.0.38.47",
"ydl-media" : "0.0.21.15",
"ydl-media" : "0.0.21.33",
"ydl-pay" : "0.0.18.19",
"m-audioim" : "0.0.49.29.41",
"ydl-flutter-base": "0.0.14.32",
......@@ -119,7 +119,7 @@ ext {
//第二步 若干
"ydl-webview" : "0.0.38.47",
"ydl-media" : "0.0.21.15",
"ydl-media" : "0.0.21.33",
"ydl-pay" : "0.0.18.19",
"m-audioim" : "0.0.49.29.41",
"ydl-flutter-base": "0.0.14.32",
......@@ -220,7 +220,7 @@ ext {
"systembartint" : "com.readystatesoftware.systembartint:systembartint:1.0.3",
"cube" : "in.srain.cube:cube-sdk:1.0.44@aar",
"support-multidex" : 'androidx.multidex:multidex:2.0.0',
"ydl-ijkplayer-jjdxm" : "com.ydl:jjdxm-ijkplayer:0.0.9",
"ydl-ijkplayer-jjdxm" : "com.ydl:jjdxm-ijkplayer:0.0.28",
"robust" : "com.meituan.robust:robust:0.4.87",
"walle" : "com.meituan.android.walle:library:1.1.5",
"jpush" : "cn.jiguang.sdk:jpush:3.3.6",
......
......@@ -66,6 +66,7 @@ dependencies {
api 'com.github.princekin-f:EasyFloat:1.3.2'
api rootProject.ext.dependencies["ydl-user-router"]
api rootProject.ext.dependencies["butterknife"]
if (rootProject.ext.dev_mode){
//开发时使用
implementation modularPublication('com.ydl:m-consultant-api')
......
......@@ -6,6 +6,7 @@ import android.os.Handler
import android.os.PowerManager
import android.view.View
import android.widget.RelativeLayout
import com.dou361.ijkplayer.widget.IjkVideoView
import com.dou361.ijkplayer.widget.PlayStateParams
import com.dou361.ijkplayer.widget.PlayerView
import com.ydl.media.audio.utils.PlayProgressUtil
......@@ -17,7 +18,9 @@ import com.ydl.ydlcommon.view.dialog.CommonDialog
import com.yidianling.course.R
import com.yidianling.course.bean.CourseExtraBean
import com.yidianling.course.bean.CourseMediaBean
import tv.danmaku.ijk.media.player.AndroidMediaPlayer
import tv.danmaku.ijk.media.player.IMediaPlayer
import tv.danmaku.ijk.media.player.IjkMediaPlayer
import java.text.SimpleDateFormat
import java.util.*
......@@ -31,7 +34,6 @@ class CoursePlayItemViewVideo : RelativeLayout, PlayViewInterface {
private var playList: ArrayList<CourseMediaBean> = ArrayList()
private var courseExtra: CourseExtraBean? = null
var activity: CoursePlayActivity? = null
var videoUrl: String? = null
//播放模式
......@@ -163,11 +165,12 @@ class CoursePlayItemViewVideo : RelativeLayout, PlayViewInterface {
// url = url.replace("https", "http")
videoUrl = url
var hisTime = PlayProgressUtil.getProgress(context, url)
try {
activity?.videoView = PlayerView(activity)
/* activity?.videoView = PlayerView(activity)
.setScaleType(PlayStateParams.fitparent)
.hideMenu(true)
.hideRotation(true)
......@@ -178,6 +181,7 @@ class CoursePlayItemViewVideo : RelativeLayout, PlayViewInterface {
.forbidTouch(false)
.setOnInfoListener(object : IMediaPlayer.OnInfoListener {
override fun onInfo(mp: IMediaPlayer, what: Int, extra: Int): Boolean {
LogUtil.e("课程播放--状态-$what")
if (what == PlayStateParams.MEDIA_INFO_VIDEO_INTERRUPT) {
activity?.videoView?.startPlay()
......@@ -242,34 +246,14 @@ class CoursePlayItemViewVideo : RelativeLayout, PlayViewInterface {
.into(ivThumbnail)
}
}
.setPlaySource(url)
.startPlay()
.seekTo(hisTime)
// try {
// var videoViewField =
// activity?.videoView.run { javaClass.getDeclaredField("videoView") }
// videoViewField.isAccessible = true
//
// var ijkVideoView = videoViewField.get(activity?.videoView) as IjkVideoView
// var mMediaPlayerField = ijkVideoView.javaClass.getDeclaredField("mMediaPlayer")
//
// var mMediaPlayerObject = mMediaPlayerField.get(ijkVideoView)
// if (mMediaPlayerObject is IjkMediaPlayer) {
// mMediaPlayerObject.setOption(
// IjkMediaPlayer.OPT_CATEGORY_FORMAT,
// "dns_cache_clear",
// 1
// )
// }
// } catch (e: java.lang.Exception) {
//
// }
//
// activity?.videoView?.startPlay()?.seekTo(hisTime)
activity?.videoView?.setPlaySource(url)
activity?.videoView?.startPlay()
val layout = activity?.window?.attributes
layout?.screenBrightness = -1f
activity?.window?.attributes = layout
activity?.window?.attributes = layout*/
} catch (e: Exception) {
e.printStackTrace()
......
......@@ -39,7 +39,8 @@ dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
api(rootProject.ext.dependencies["ydl-ijkplayer-jjdxm"]) {
api(rootProject.ext.dependencies["" +
"ydl-ijkplayer-jjdxm"]) {
exclude group: 'com.android.support', module: 'appcompat-v7'
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment