From 2ee84b809d66a1a81bc35886d7bdb30805dd5e96 Mon Sep 17 00:00:00 2001 From: claincly Date: Thu, 13 Apr 2023 17:48:23 +0100 Subject: [PATCH] Tap the video playback view to switch audio output. PiperOrigin-RevId: 524027177 --- .../demo/transformer/TransformerActivity.java | 18 +++++++++++++++++- .../main/res/layout/transformer_activity.xml | 4 ++-- .../src/main/res/values/strings.xml | 6 ++++-- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index de46144abb..d7e5d92e45 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -690,6 +690,7 @@ public final class TransformerActivity extends AppCompatActivity { ExoPlayer outputPlayer = new ExoPlayer.Builder(/* context= */ this).build(); outputPlayerView.setPlayer(outputPlayer); outputPlayerView.setControllerAutoShow(false); + outputPlayerView.setOnClickListener(this::onClickingPlayerView); outputPlayer.setMediaItem(outputMediaItem); outputPlayer.prepare(); this.outputPlayer = outputPlayer; @@ -711,12 +712,13 @@ public final class TransformerActivity extends AppCompatActivity { } else { inputPlayerView.setVisibility(View.VISIBLE); inputImageView.setVisibility(View.GONE); - inputTextView.setText(getString(R.string.input_video)); + inputTextView.setText(getString(R.string.input_video_no_sound)); ExoPlayer inputPlayer = new ExoPlayer.Builder(/* context= */ this).build(); inputPlayerView.setPlayer(inputPlayer); inputPlayerView.setControllerAutoShow(false); inputPlayer.setMediaItem(inputMediaItem); + inputPlayerView.setOnClickListener(this::onClickingPlayerView); inputPlayer.prepare(); this.inputPlayer = inputPlayer; inputPlayer.setVolume(0f); @@ -728,6 +730,20 @@ public final class TransformerActivity extends AppCompatActivity { debugTextViewHelper.start(); } + private void onClickingPlayerView(View view) { + if (view == inputPlayerView) { + checkNotNull(inputPlayer).setVolume(1f); + checkNotNull(inputTextView).setText(R.string.input_video_playing_sound); + checkNotNull(outputPlayer).setVolume(0f); + checkNotNull(outputVideoTextView).setText(R.string.output_video_no_sound); + } else { + checkNotNull(inputPlayer).setVolume(0f); + checkNotNull(inputTextView).setText(getString(R.string.input_video_no_sound)); + checkNotNull(outputPlayer).setVolume(1f); + checkNotNull(outputVideoTextView).setText(R.string.output_video_playing_sound); + } + } + private void releasePlayer() { if (debugTextViewHelper != null) { debugTextViewHelper.stop(); diff --git a/demos/transformer/src/main/res/layout/transformer_activity.xml b/demos/transformer/src/main/res/layout/transformer_activity.xml index c2585ebe8b..7304ead3ea 100644 --- a/demos/transformer/src/main/res/layout/transformer_activity.xml +++ b/demos/transformer/src/main/res/layout/transformer_activity.xml @@ -74,7 +74,7 @@ android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:padding="8dp" - android:text="@string/input_video" /> + android:text="@string/input_video_no_sound" /> + android:text="@string/output_video_playing_sound" /> Saturation adjustment Lightness adjustment Input image: - Input video: - Output video: + Input video (tap to play sound): + Input video (sound playing): + Output video (tap to play sound): + Output video (sound playing): Permission Denied Hide input video Show input video