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" /> + +