v9.1.0 修复切台加载提示被旧频道回调提前隐藏
This commit is contained in:
1 parent
6ae217b9cd
commit
277485394c
2 files changed
+13
-4
No files matched your search
@@ -11,8 +11,8 @@ android {
|
|||||||
applicationId = "com.iptv807.tv"
|
applicationId = "com.iptv807.tv"
|
||||||
minSdk = 21
|
minSdk = 21
|
||||||
targetSdk = 35
|
targetSdk = 35
|
||||||
versionCode = 900
|
versionCode = 910
|
||||||
versionName = "9.0.0"
|
versionName = "9.1.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
|
|||||||
@@ -84,6 +84,8 @@ class MainActivity : Activity() {
|
|||||||
private var lastSelfTest = ""
|
private var lastSelfTest = ""
|
||||||
private var loadChannelName = ""
|
private var loadChannelName = ""
|
||||||
private var triedFresh = false
|
private var triedFresh = false
|
||||||
|
/** true=当前这次"新开播"还没真正开始(避免旧频道的播放回调把加载提示提前隐藏) */
|
||||||
|
private var awaitingStart = false
|
||||||
private var failureReport = ""
|
private var failureReport = ""
|
||||||
private var wasStopped = false
|
private var wasStopped = false
|
||||||
private var resumeBtn: TextView? = null
|
private var resumeBtn: TextView? = null
|
||||||
@@ -215,12 +217,16 @@ class MainActivity : Activity() {
|
|||||||
}
|
}
|
||||||
override fun onPlaybackStateChanged(state: Int) {
|
override fun onPlaybackStateChanged(state: Int) {
|
||||||
when (state) {
|
when (state) {
|
||||||
Player.STATE_READY -> { setMode(MODE_NATIVE); hideLoading() }
|
Player.STATE_READY -> { setMode(MODE_NATIVE); if (awaitingStart) { awaitingStart = false; hideLoading() } }
|
||||||
Player.STATE_BUFFERING -> { /* 缓冲中,保持计时继续 */ }
|
Player.STATE_BUFFERING -> { /* 缓冲中,保持计时继续 */ }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
override fun onIsPlayingChanged(p: Boolean) {
|
override fun onIsPlayingChanged(p: Boolean) {
|
||||||
if (p) { hideLoading(); resumeBtn?.visibility = View.GONE }
|
if (p) {
|
||||||
|
resumeBtn?.visibility = View.GONE
|
||||||
|
// 只有"这次要播的新频道"真正起播了才收起加载提示
|
||||||
|
if (awaitingStart) { awaitingStart = false; hideLoading() }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -484,8 +490,10 @@ class MainActivity : Activity() {
|
|||||||
/** 开始一次新的换台计时(只在切台时调用) */
|
/** 开始一次新的换台计时(只在切台时调用) */
|
||||||
private fun beginLoading() {
|
private fun beginLoading() {
|
||||||
loadStart = System.currentTimeMillis()
|
loadStart = System.currentTimeMillis()
|
||||||
|
awaitingStart = false
|
||||||
loadingText.text = "正在加载 1 秒,精彩继续…"
|
loadingText.text = "正在加载 1 秒,精彩继续…"
|
||||||
loadingMask.visibility = View.VISIBLE
|
loadingMask.visibility = View.VISIBLE
|
||||||
|
loadingMask.bringToFront()
|
||||||
handler.removeCallbacks(loadTick)
|
handler.removeCallbacks(loadTick)
|
||||||
handler.postDelayed(loadTick, 1000)
|
handler.postDelayed(loadTick, 1000)
|
||||||
}
|
}
|
||||||
@@ -577,6 +585,7 @@ class MainActivity : Activity() {
|
|||||||
val item = MediaItem.Builder().setUri(Uri.parse(url))
|
val item = MediaItem.Builder().setUri(Uri.parse(url))
|
||||||
.setMimeType(if (isFlv) MimeTypes.VIDEO_FLV else MimeTypes.APPLICATION_M3U8)
|
.setMimeType(if (isFlv) MimeTypes.VIDEO_FLV else MimeTypes.APPLICATION_M3U8)
|
||||||
.build()
|
.build()
|
||||||
|
awaitingStart = true
|
||||||
player?.setMediaItem(item)
|
player?.setMediaItem(item)
|
||||||
player?.prepare()
|
player?.prepare()
|
||||||
player?.playWhenReady = true
|
player?.playWhenReady = true
|
||||||
|
|||||||
Reference in new issue
Block a user