diff --git a/app/src/main/java/com/ray650128/gstreamer_demo_app/GridVideoFragment.kt b/app/src/main/java/com/ray650128/gstreamer_demo_app/GridVideoFragment.kt
index 0957e52..2470f96 100644
--- a/app/src/main/java/com/ray650128/gstreamer_demo_app/GridVideoFragment.kt
+++ b/app/src/main/java/com/ray650128/gstreamer_demo_app/GridVideoFragment.kt
@@ -185,7 +185,13 @@ class GridVideoFragment : Fragment(), GstCallback {
}
override fun onStatus(gstInstance: GstLibrary, gstStatus: GstStatus?) {
- //Log.d(TAG, GstStatus.values());
+ val index = gstPlayers.indexOf(gstInstance)
+ when (gstStatus) {
+ GstStatus.PAUSE -> videoViews[index].isPlaying = false
+ GstStatus.PLAYING -> videoViews[index].isPlaying = true
+ else -> {}
+ }
+ Log.d("${TAG}_$mPageNum", "GstPlayer #$index status: $gstStatus")
}
override fun onMessage(gstInstance: GstLibrary, message: String?) {
diff --git a/app/src/main/java/com/ray650128/gstreamer_demo_app/VideoView.kt b/app/src/main/java/com/ray650128/gstreamer_demo_app/VideoView.kt
index 91f8256..08ccf59 100644
--- a/app/src/main/java/com/ray650128/gstreamer_demo_app/VideoView.kt
+++ b/app/src/main/java/com/ray650128/gstreamer_demo_app/VideoView.kt
@@ -4,6 +4,7 @@ import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.core.view.isVisible
import com.hisharp.gstreamer_player.GStreamerSurfaceView
import com.ray650128.gstreamer_demo_app.databinding.ItemVideoViewBinding
@@ -23,6 +24,12 @@ class VideoView : ConstraintLayout {
private lateinit var view: ItemVideoViewBinding
+ var isPlaying: Boolean = false
+ set(value) {
+ view.imgPause.isVisible = !value
+ field = value
+ }
+
val videoView: GStreamerSurfaceView by lazy { view.videoView }
private fun initView(context: Context) {
diff --git a/app/src/main/res/drawable-ldpi/bg_not_in_playing.png b/app/src/main/res/drawable-ldpi/bg_not_in_playing.png
new file mode 100644
index 0000000..e4df282
Binary files /dev/null and b/app/src/main/res/drawable-ldpi/bg_not_in_playing.png differ
diff --git a/app/src/main/res/drawable-xhdpi/bg_not_in_playing.png b/app/src/main/res/drawable-xhdpi/bg_not_in_playing.png
new file mode 100644
index 0000000..7e70b56
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/bg_not_in_playing.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/bg_not_in_playing.png b/app/src/main/res/drawable-xxhdpi/bg_not_in_playing.png
new file mode 100644
index 0000000..73f9da3
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/bg_not_in_playing.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/bg_not_in_playing.png b/app/src/main/res/drawable-xxxhdpi/bg_not_in_playing.png
new file mode 100644
index 0000000..df9b22e
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/bg_not_in_playing.png differ
diff --git a/app/src/main/res/drawable/bg_not_in_playing.png b/app/src/main/res/drawable/bg_not_in_playing.png
new file mode 100644
index 0000000..9b20909
Binary files /dev/null and b/app/src/main/res/drawable/bg_not_in_playing.png differ
diff --git a/app/src/main/res/layout/item_video_view.xml b/app/src/main/res/layout/item_video_view.xml
index 45ff72c..3160f16 100644
--- a/app/src/main/res/layout/item_video_view.xml
+++ b/app/src/main/res/layout/item_video_view.xml
@@ -17,6 +17,18 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
+
+