VideoView加上預設狀態
This commit is contained in:
parent
c3f8366475
commit
90344d14b0
@ -51,7 +51,7 @@ class VideoView : ConstraintLayout, SurfaceHolder.Callback, GstCallback {
|
||||
private var retryRunnable = object : Runnable {
|
||||
override fun run() {
|
||||
play()
|
||||
Log.e("${TAG}_$tag", "Retry count: $retryCount")
|
||||
//Log.e("${TAG}_$tag", "Retry count: $retryCount")
|
||||
}
|
||||
}
|
||||
|
||||
@ -73,12 +73,17 @@ class VideoView : ConstraintLayout, SurfaceHolder.Callback, GstCallback {
|
||||
videoView.holder.addCallback(this)
|
||||
gstLibrary = GstLibrary(context)
|
||||
gstLibrary.setOnStatusChangeListener(this)
|
||||
|
||||
view.textDeviceName.isVisible = false
|
||||
isPlaying = false
|
||||
isLoading = false
|
||||
}
|
||||
|
||||
fun setData(device: Device?) {
|
||||
if (device == null) {
|
||||
view.textDeviceName.isVisible = false
|
||||
isPlaying = false
|
||||
isLoading = false
|
||||
return
|
||||
}
|
||||
this.data = device
|
||||
@ -111,6 +116,9 @@ class VideoView : ConstraintLayout, SurfaceHolder.Callback, GstCallback {
|
||||
|
||||
override fun surfaceCreated(holder: SurfaceHolder) {
|
||||
Log.d("${TAG}_$tag", "Surface created: " + holder.surface)
|
||||
if (this::gstLibrary.isInitialized) {
|
||||
gstLibrary.setSurfaceHolder(holder)
|
||||
}
|
||||
}
|
||||
|
||||
override fun surfaceChanged(holder: SurfaceHolder, format: Int, width: Int, height: Int) {
|
||||
@ -123,9 +131,9 @@ class VideoView : ConstraintLayout, SurfaceHolder.Callback, GstCallback {
|
||||
override fun surfaceDestroyed(p0: SurfaceHolder) {
|
||||
Log.d("${TAG}_$tag", "Surface destroyed")
|
||||
// TODO: 如果呼叫 releaseSurface(),會閃退
|
||||
/*if (this::gstLibrary.isInitialized) {
|
||||
if (this::gstLibrary.isInitialized) {
|
||||
gstLibrary.releaseSurface()
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
override fun onStatus(gstStatus: GstStatus?) { // onStatus 不是在主執行緒,因此透過 Handler 發訊息到主執行緒去執行
|
||||
@ -137,11 +145,11 @@ class VideoView : ConstraintLayout, SurfaceHolder.Callback, GstCallback {
|
||||
GstStatus.ERROR_WHEN_OPENING -> mHandler.sendMessage(Message().apply { what = MSG_ERROR })
|
||||
else -> {}
|
||||
}
|
||||
Log.e("${TAG}_$tag", "onStatus: $gstStatus")
|
||||
//Log.e("${TAG}_$tag", "onStatus: $gstStatus")
|
||||
}
|
||||
|
||||
override fun onMessage(message: String?) {
|
||||
Log.e("${TAG}_$tag", "onMessage: $message")
|
||||
//Log.e("${TAG}_$tag", "onMessage: $message")
|
||||
}
|
||||
|
||||
inner class MyHandler(looper: Looper): Handler(looper) {
|
||||
@ -166,7 +174,7 @@ class VideoView : ConstraintLayout, SurfaceHolder.Callback, GstCallback {
|
||||
retryCount++
|
||||
} else {
|
||||
retryCount = RETRY_OFF
|
||||
Log.e("${TAG}_$tag", "Retry count = 5, stopped retry...")
|
||||
//Log.e("${TAG}_$tag", "Retry count = 5, stopped retry...")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user