Mengaktifkan pemutaran latar belakang

Pengguna yang menonton konten di perangkat TV dapat memutuskan untuk beralih ke peluncur TV kapan saja. Jika mereka beralih ke peluncur selagi menggunakan aplikasi pemutaran TV, secara default aplikasi akan dijeda. Karena pengguna tidak secara eksplisit meminta jeda pemutaran, perilaku default tersebut mungkin terasa mendadak dan tidak terduga. Tutorial ini menjelaskan cara mengaktifkan pemutaran di latar belakang pada aplikasi Anda, yang akan memberikan pengalaman pengguna yang lebih baik.

Metode requestVisibleBehind() telah dihentikan di API level 26.
akan dihapus pada rilis mendatang. Fungsionalitas yang dideskripsikan di halaman ini tidak didukung pada Android versi 8.0 dan yang lebih baru.

Meminta pemutaran di latar belakang

Biasanya, jika pengguna mengklik Beranda untuk menampilkan peluncur TV, aktivitas akan dijeda. Namun, aplikasi dapat meminta pemutaran di latar belakang, yang memungkinkan aktivitas untuk terus diputar di belakang peluncur TV.

Untuk meminta pemutaran di latar belakang, panggil requestVisibleBehind(). Pastikan untuk membersihkan resource media jika aktivitas tersebut tidak terlihat lagi. Misalnya, Anda harus mengosongkan resource media jika requestVisibleBehind() menampilkan false untuk menunjukkan bahwa permintaan gagal, atau jika sistem memanggil penggantian onVisibleBehindCanceled().

Kotlin

    override fun onPause() {
        super.onPause()
        if (videoView?.isPlaying == true) {
            // Argument equals true to notify the system that the activity
            // wishes to be visible behind other translucent activities
            if (!requestVisibleBehind(true)) {
                // App-specific method to stop playback and release resources
                // because call to requestVisibleBehind(true) failed
                stopPlayback()
            }
        } else {
            // Argument equals false because the activity is not playing
            requestVisibleBehind(false)
        }
    }

    override fun onVisibleBehindCanceled() {
        // App-specific method to stop playback and release resources
        stopPlayback()
        super.onVisibleBehindCanceled()
    }
    

Java

    @Override
    public void onPause() {
      super.onPause();
      if (videoView.isPlaying()) {
        // Argument equals true to notify the system that the activity
        // wishes to be visible behind other translucent activities
        if (! requestVisibleBehind(true)) {
          // App-specific method to stop playback and release resources
          // because call to requestVisibleBehind(true) failed
          stopPlayback();
        }
      } else {
        // Argument equals false because the activity is not playing
        requestVisibleBehind(false);
      }
    }

    @Override
    public void onVisibleBehindCanceled() {
      // App-specific method to stop playback and release resources
      stopPlayback();
      super.onVisibleBehindCanceled();
    }