Google berkomitmen untuk memajukan ekuitas ras bagi masyarakat Hitam. Lihat bagaimana.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Kerangka Masukan TV

icon Android TV HAL

Android TV Masukan Framework (TIF) menyederhanakan penyampaian konten langsung ke Android TV. Android TIF menyediakan API standar untuk produsen untuk membuat modul masukan untuk mengendalikan Android TV, dan telah mempermudah pencarian TV dan rekomendasi melalui metadata yang diterbitkan oleh Masukan TV.

Kerangka kerja ini tidak berusaha untuk menerapkan standar TV atau persyaratan regional, tetapi tidak membuatnya lebih mudah bagi produsen perangkat untuk memenuhi standar penyiaran TV digital daerah tanpa re-implementasi. Dokumentasi dalam bagian ini mungkin juga berguna untuk pengembang aplikasi pihak ketiga yang ingin membuat kustom TV Input.

komponen

Android TV pelaksanaan Masukan Kerangka termasuk TV Masukan Manager. The TIF bekerja dengan App TV, aplikasi sistem yang tidak dapat digantikan oleh aplikasi pihak ketiga, untuk mengakses built-in dan saluran tuner IP. TV App berkomunikasi dengan modul TV Masukan yang diberikan oleh produsen perangkat atau pihak lain melalui TV Masukan Manager.

TV Masukan Kerangka terdiri dari:

  • Penyedia TV ( com.android.providers.tv.TvProvider ): database saluran, program, dan izin terkait
  • TV App ( com.android.tv.TvActivity ): app bahwa interaksi menangani pengguna
  • TV Masukan Manager ( android.media.tv.TvInputManager ): memungkinkan Input TV untuk berkomunikasi dengan App TV
  • Masukan TV: sebuah aplikasi yang mewakili tuners fisik atau virtual dan port masukan
  • TV Masukan HAL ( tv_input modul): definisi hardware yang memungkinkan sistem TV Input untuk mengakses hardware TV khusus ketika diimplementasikan
  • Parental Control: teknologi untuk memungkinkan menghalangi saluran dan program
  • HDMI-CEC: teknologi untuk memungkinkan remote control dari berbagai perangkat melalui HDMI

Komponen-komponen ini dibahas secara rinci di bawah ini. Lihat diagram berikut untuk tampilan rinci dari arsitektur Android TV Masukan Kerangka.

Gambaran dari arsitektur Android TIF
Gambar 1. Android TV Masukan Framework (TIF) arsitektur

Mengalir

Berikut adalah bagaimana arsitektur tersebut dilakukan:

  1. pengguna melihat dan berinteraksi dengan App TV, aplikasi sistem yang tidak dapat digantikan oleh aplikasi pihak ketiga.
  2. TV App menampilkan konten AV dari input TV.
  3. TV App tidak bisa berbicara langsung dengan Input TV. TV Masukan Manajer mengidentifikasi keadaan TV Masukan untuk App TV. Lihat TV Masukan Manajer bawah untuk rincian lebih lanjut tentang keterbatasan ini.

perizinan

  • Hanya signatureOrSystem TV Input dan TV App memiliki akses penuh ke database Provider TV dan dapat menerima KeyEvents.
  • Hanya sistem TV Input dapat mengakses HAL Masukan TV melalui layanan Manajer TV Input. TV Input diakses satu-ke-satu melalui sesi Manajer TV Input.
  • Pihak ketiga TV Input memiliki akses paket-terkunci ke database Provider TV dan dapat READ / WRITE hanya untuk pencocokan paket baris.
  • input TV pihak ketiga baik dapat menampilkan konten mereka sendiri atau konten dari produsen perangkat input TV passthrough, seperti HDMI1. Mereka tidak bisa menampilkan konten dari input TV non-passthrough, seperti built-in atau IPTV tuner.
  • TV_INPUT_HARDWARE izin untuk Input aplikasi TV hardware, sinyal Input TV Service Manager untuk memberitahukan layanan Masukan TV pada boot untuk memanggil Input TV Service Manager dan tambahkan TV Input-nya. Izin ini memungkinkan perangkat keras TV Masukan aplikasi untuk mendukung beberapa Input TV per layanan Masukan TV, serta mampu secara dinamis menambah dan menghapus nya TV Input didukung.

Penyedia TV

Penyedia TV database yang menyimpan saluran dan program dari TV Input. Penyedia TV juga menerbitkan dan mengelola hak akses terkait sehingga TV Input dapat hanya melihat catatan mereka sendiri. Misalnya, Input TV tertentu hanya dapat melihat saluran dan program itu telah memasok dan dilarang mengakses saluran dan program TV apapun Input lain.

Penyedia TV peta "siaran bergenre" untuk "genre kanonik" internal. TV Input bertanggung jawab untuk mengisi "siaran bergenre" dengan nilai dalam standar siaran yang mendasari, dan "kanonik bergenre" lapangan akan secara otomatis diisi dengan genre terkait benar dari android.provider.TvContract.Genres . Misalnya, dengan standar siaran ATSC A / 65 dan Program bergenre 0x25 (yang berarti “Olahraga”), Input TV akan mengisi “siaran bergenre” dengan String “Olahraga” dan Penyedia TV akan mengisi kolom “kanonik bergenre” dengan nilai dipetakan android.provider.TvContract.Genres.SPORTS .

Lihat diagram di bawah untuk tampilan rinci dari Penyedia TV.

Penyedia TV Android
Penyedia Gambar 2. Android TV

Hanya aplikasi di partisi sistem istimewa dapat membaca seluruh database Provider TV.

input TV passthrough tidak menyimpan saluran dan program.

Selain bidang standar untuk saluran dan program, TV basis data Provider juga menawarkan lapangan tipe blob, COLUMN_INTERNAL_PROVIDER_DATA , di setiap meja yang TV Input dapat digunakan untuk menyimpan data sewenang-wenang. Bahwa data blob dapat mencakup informasi kustom, seperti frekuensi tuner terkait, dan dapat diberikan dalam buffer protokol atau bentuk lain. Bidang Dicari tersedia untuk membuat saluran tertentu tidak tersedia dalam pencarian (seperti untuk memenuhi persyaratan khusus negara untuk perlindungan konten).

contoh bidang database

Mendukung Penyedia TV terstruktur data dalam channel ( android.provider.TvContract.Channels ) dan Program ( android.provider.TvContract.Programs ) tabel. Tabel ini dihuni dan diakses oleh TV Input dan sistem aplikasi seperti App TV. tabel ini memiliki empat jenis bidang:

  • Tampilan: bidang layar berisi informasi yang aplikasi mungkin ingin membuat terlihat kepada pengguna, seperti nama saluran ( COLUMN_DISPLAY_NAME ) atau nomor ( COLUMN_DISPLAY_NUMBER ), atau judul program yang sedang dilihat.
  • Metadata: Ada tiga bidang untuk mengidentifikasi konten, sesuai dengan standar yang relevan, seperti saluran ID transportasi sungai ( COLUMN_TRANSPORT_STREAM_ID ), ID jaringan asli ( COLUMN_ORIGINAL_NETWORK_ID ) dan layanan id ( COLUMN_SERVICE_ID ).
  • Data internal: Fields yang untuk penggunaan kebiasaan TV Input.
    Beberapa bidang, seperti COLUMN_INTERNAL_PROVIDER_DATA , adalah bidang blob disesuaikan di mana Input TV dapat menyimpan metadata sewenang-wenang tentang saluran atau program mereka.
  • Bendera: bidang bendera mewakili apakah saluran harus dibatasi dari pencarian, browse, atau melihat. Ini dapat diatur hanya di tingkat saluran. Semua program tunduk kepada pengaturan pada saluran.
    • COLUMN_SEARCHABLE : Membatasi pencarian dari beberapa saluran mungkin menjadi kebutuhan di daerah-daerah tertentu. COLUMN_SEARCHABLE = 0 berarti saluran tidak boleh terkena dalam hasil pencarian.
    • COLUMN_BROWSABLE : Terlihat aplikasi sistem saja. Membatasi saluran dari sedang diakses oleh aplikasi. COLUMN_BROWSABLE = 0 berarti saluran seharusnya tidak dimasukkan dalam daftar saluran.
    • COLUMN_LOCKED : Terlihat aplikasi sistem saja. Membatasi saluran dari yang dilihat oleh akun tidak sah tanpa memasukkan kode PIN. COLUMN_LOCKED = 1 berarti saluran harus dilindungi oleh kontrol orangtua.

Untuk daftar yang lebih lengkap dari bidang, lihat android/frameworks/base/media/java/android/media/tv/TvContract.java

Perizinan dan kontrol akses

Semua bidang yang dilihat oleh siapa saja dengan akses ke baris yang sesuai. Tidak ada bidang yang secara langsung dapat diakses oleh pengguna; mereka hanya melihat apa App TV, Sistem aplikasi, atau TV Input permukaan.

  • Setiap baris memiliki PACKAGE_NAME , paket (aplikasi) yang memiliki yang berturut-turut, diperiksa pada Query, Insert, Update via TvProvider.java. Sebuah Masukan TV dapat mengakses hanya informasi itu menulis dan mengepung dari informasi yang diberikan oleh Input TV lainnya.
  • BACA, perizinan MENULIS melalui AndroidManifest.xml (mengharuskan pengguna persetujuan) untuk menentukan saluran yang tersedia.
  • Hanya signatureOrSystem aplikasi dapat memperoleh ACCESS_ALL_EPG_DATA izin untuk mengakses seluruh database.

Masukan Manajer TV

TV Masukan Manager menyediakan sistem API pusat untuk Kerangka Masukan Android TV secara keseluruhan. Ini mengadili interaksi antara aplikasi dan TV Input dan menyediakan fungsionalitas kontrol orangtua. TV sesi Masukan Manajer harus diciptakan satu-ke-satu TV dengan Input. TV Masukan Manager memungkinkan akses ke diinstal TV Input sehingga aplikasi dapat:

  • Daftar TV input dan memeriksa status mereka
  • Buat sesi dan mengelola pendengar

Untuk sesi, Input TV dapat disetel oleh App TV hanya untuk URI telah ditambahkan ke database Provider TV, kecuali untuk passthrough TV Input yang dapat disetel untuk menggunakan TvContract.buildChannelUriForPassthroughInput() . Sebuah Masukan TV juga mungkin memiliki set volumenya. TV Input disediakan dan ditandatangani oleh produsen perangkat (aplikasi tanda tangan) atau aplikasi lain yang diinstal di partisi sistem akan memiliki akses ke seluruh database Provider TV. Akses ini dapat digunakan untuk aplikasi konstruksi untuk menelusuri dan mencari di semua saluran TV yang tersedia dan program.

Sebuah aplikasi dapat membuat dan mendaftarkan TvInputCallback dengan android.media.tv.TvInputManager untuk dipanggil kembali pada perubahan negara Input TV atau di samping atau penghapusan Input TV. Sebagai contoh, sebuah App TV dapat bereaksi ketika Input TV terputus dengan menampilkan sebagai terputus dan mencegah seleksi.

TV Masukan Manajer abstrak komunikasi antara App TV dan TV Input. Antarmuka standar TV Masukan Manager dan TV Masukan memungkinkan beberapa produsen perangkat untuk membuat mereka TV Apps sendiri sambil membantu semua pihak ketiga TV Input bekerja pada semua TV Apps.

TV Input

TV Input adalah aplikasi Android dalam arti mereka memiliki AndroidManifest.xml dan dipasang (melalui Play, pra-instal, atau ditransfer dan). Android mendukung TV pra-instal aplikasi sistem, aplikasi yang ditandatangani oleh produsen perangkat dan pihak ketiga TV Input.

Beberapa masukan, seperti input HDMI atau built-in tuner masukan, dapat diberikan hanya oleh produsen karena mereka berbicara langsung dengan perangkat keras yang mendasari. Lainnya, seperti IPTV, tempat-pergeseran, dan STB eksternal, dapat diberikan oleh pihak ketiga seperti APK di Google Play Store. Setelah didownload dan diinstal, masukan baru bisa dipilih dalam App TV.

masukan passthrough contoh

Android Sistem TV Masukan
Gambar 3. Android Sistem TV Masukan

Dalam contoh ini, Input TV yang disediakan oleh produsen perangkat dipercaya dan memiliki akses penuh ke Provider TV. Sebagai Masukan TV passthrough, itu tidak mendaftarkan saluran atau program dengan Provider TV. Untuk mendapatkan URI digunakan untuk referensi masukan passthrough, gunakan android.media.tv.TvContract metode utilitas buildChannelUriForPassthroughInput(String inputId) . TV App berkomunikasi dengan TV Masukan Manager untuk mencapai Masukan HDMI TV.

Built-in tuner contoh

Android TV Built-in Tuner Masukan
Gambar 4. Android TV Built-in Tuner Masukan

Dalam contoh ini, Input Built-in TV Tuner yang disediakan oleh produsen perangkat dipercaya dan memiliki akses penuh ke Provider TV.

Misalnya masukan pihak ketiga

masukan pihak ketiga Android TV
Gambar masukan pihak ketiga 5. Android TV

Dalam contoh ini, STB TV Masukan eksternal disediakan oleh pihak ketiga. Sejak itu Masukan TV tidak dapat langsung mengakses video pakan HDMI datang, itu harus melalui Input Manajer TV dan menggunakan Input HDMI TV yang disediakan oleh manufaktur perangkat.

Melalui TV Masukan Manager, STB TV Masukan eksternal dapat berbicara dengan Input HDMI TV dan meminta untuk menampilkan video pada HDMI1. Jadi Input STB TV dapat mengontrol TV sambil produsen yang disediakan HDMI TV Masukan merender video.

Gambar dalam gambar (PIP) misalnya

KeyEvents TV Android
KeyEvents Gambar 6. Android TV

Diagram di atas menunjukkan bagaimana tombol pada remote control dilewatkan ke Input TV khusus untuk gambar dalam gambar (PIP) display. Mereka menekan tombol ditafsirkan oleh driver hardware yang disediakan oleh produsen perangkat, mengubah scancodes perangkat keras untuk keycodes Android dan melewati mereka ke standar Android pipa masukan InputReader dan InputDispatcher berfungsi sebagai KeyEvents . Ini dalam acara memicu menyalakan App TV jika berada dalam fokus.

Hanya sistem TV Input berhak menerima InputEvents , dan hanya jika mereka memiliki RECEIVE_INPUT_EVENT sistem izin. TV Masukan bertanggung jawab untuk menentukan InputEvents untuk mengkonsumsi dan harus memungkinkan App TV untuk menangani tombol itu tidak perlu mengkonsumsi.

TV App bertanggung jawab untuk mengetahui mana Masukan sistem TV aktif, artinya dipilih oleh pengguna, dan untuk disambiguate masuk KeyEvents dan rute mereka untuk sesi Manajer TV Masukan benar, memanggil dispatchInputEvent() untuk meneruskan acara untuk TV Masukan terkait .

MHEG-5 masukan contoh

Diagram berikut menunjukkan pandangan yang lebih rinci tentang bagaimana KeyEvents yang disalurkan melalui TIF Android.

Tombol Android TV Red contoh
Gambar tombol 7. Android TV Red contoh

Ini menggambarkan aliran aplikasi Tombol merah, umum di Eropa untuk membiarkan pengguna mengakses aplikasi interaktif di televisi mereka. Aplikasi dapat dikirimkan melalui transportasi sungai ini. Ketika tombol diklik, itu memungkinkan pengguna berinteraksi dengan aplikasi siaran tersebut. Sebagai contoh, Anda mungkin menggunakan aplikasi siaran ini untuk akses terkait halaman web atau skor olahraga.

Lihat bagian aplikasi Broadcast untuk belajar bagaimana siaran aplikasi berinteraksi dengan App TV.

Dalam contoh ini:

  1. TV App adalah fokus dan menerima semua kunci.
  2. KeyEvents (misalnya tombol Merah) dilewatkan ke input TV aktif sebagai InputEvents.
  3. Input terintegrasi sistem TV dengan MHEG-5 stack dan memiliki RECEIVE_INPUT_EVENT sistem izin.
  4. Pada menerima aktivasi kode kunci (misalnya tombol Merah), Input TV mengaktifkan aplikasi siaran.
  5. TV masukan mengkonsumsi KeyEvents sebagai InputEvents dan aplikasi siaran adalah fokus dan menangani InputEvents sampai diberhentikan.

Catatan: input TV pihak ketiga tidak pernah menerima kunci.

TV Masukan HAL

TV Masukan HAL membantu pengembangan TV Masukan ke hardware akses TV khusus. Seperti HAL Android lain, TV Masukan HAL ( tv_input ) tersedia di pohon sumber AOSP dan vendor mengembangkan pelaksanaannya.

TV App

Sistem TV App menyajikan konten TV hidup untuk pengguna. Sebuah referensi TV App (TV) disediakan bersama platform Android, yang dapat digunakan sebagai-adalah, disesuaikan, diperpanjang, atau diganti oleh produsen perangkat. The kode sumber tersedia dalam Proyek Android Open Source, dan Anda bisa memulai dengan itu dalam aplikasi Referensi TV artikel.

produsen perangkat dapat memperpanjang mereka TV Apps untuk melaksanakan produsen perangkat atau negara tertentu fitur, namun hal ini tidak dalam lingkup TIF atau referensi TV App.

Minimal, sistem TV App perlu untuk menangani tugas-tugas berikut:

Setup dan konfigurasi

  • Auto-mendeteksi TV Input
  • Let TV Input memulai pemasangan saluran
  • Kontrol Pengaturan orangtua
  • mengedit saluran

melihat

  • Akses dan menavigasi semua saluran TV
  • Akses TV informasi program bar
  • Tampilan Elektronik Programming Guide (EPG) Data
  • Mendukung beberapa track audio dan subtitle
  • Pasokan kontrol orangtua tantangan PIN
  • Memungkinkan TV Masukan UI overlay untuk standar TV (HbbTV, dll)
  • hasil pencarian populate untuk saluran TV dan program
  • aplikasi tampilan menghubungkan kartu
  • API dukungan timeshifting
  • Menangani DVR fungsi dan dukungan API rekaman TV

set fitur ini akan meningkat sejalan dengan versi Android baru di mana API platform yang TIF diperluas. CTS Verifier menyediakan cakupan tes kompatibilitas.

Dukungan untuk pihak ketiga TV Input

Android TV menyediakan API pengembang untuk input TV pihak ketiga, yang memungkinkan aplikasi diinstal untuk memberikan saluran perangkat lunak ke dalam pengalaman TV. Untuk memastikan implementasi perangkat kompatibel Android, sistem TV App memiliki beberapa tanggung jawab mengenai permukaan input TV pihak ketiga dan saluran untuk pengguna. Referensi Langsung aplikasi TV menyediakan implementasi kompatibel; jika mengganti sistem TV App, produsen perangkat harus memastikan aplikasi mereka sendiri menyediakan kompatibilitas yang sama, untuk memenuhi harapan pengembang di semua perangkat Android TV.

Sistem TV Aplikasi harus permukaan masukan pihak ketiga bersama layanan TV default perangkat. Janji API pengembang adalah bahwa pengguna akan dapat menemukan saluran (setelah diinstal) dalam pengalaman TV standar mereka.

Visual diferensiasi antara built-in saluran dan saluran pihak ketiga diperbolehkan, sebagaimana didefinisikan dalam bagian TV App dari CDD Android.

Bagian berikut menunjukkan bagaimana aplikasi Live TV memenuhi persyaratan CDD.

Setup saluran baru

Penambahan baru dari pihak ketiga input / saluran dimulai dengan pengguna mencari dan memasang Masukan TV dari toko aplikasi, seperti Google Play.

Beberapa masukan TV pihak ketiga secara otomatis menambahkan saluran ke database TvProvider. Namun sebagian besar akan memberikan aktivitas Setup untuk memungkinkan pengguna untuk mengatur saluran mereka, memberikan rincian login, dan tindakan lainnya. Sistem TV App perlu memastikan pengguna dapat mengaktifkan kegiatan penataan ini, yang mengapa CDD membutuhkan masukan pihak ketiga menjadi tindakan navigasi minimal jauh dari TV App utama.

Referensi Langsung aplikasi TV menyediakan menu Sumber Saluran untuk mengakses input.

Pergi ke pengaturan
Gambar 8. Buka Pengaturan.

Pergi ke sumber Saluran di Settings
Gambar 9. Pergi ke sumber Saluran di Settings.

Pilih sumber Anda dari daftar.
Gambar 10. Pilih sumber Anda dari daftar.

Menambahkan saluran dari sumber Anda
Gambar 11. saluran Tambah dari sumber Anda.

Selain kartu pemberitahuan ditampilkan di bagian atas menu TV App setelah TvInput baru dipasang, untuk mengambil pengguna langsung ke Setup:

Pemberitahuan bahwa acara sumber channel baru yang tersedia.
Gambar 12. Pemberitahuan yang menunjukkan sumber channel baru yang tersedia.

Jika pengguna mengambil tindakan melalui pemberitahuan, mereka dapat memilih untuk mengatur sumber-sumber mereka seperti yang terlihat pada Gambar 10.

Lihat Tentukan Input Service TV Anda untuk harapan pengembang di daerah ini.

Sesuaikan daftar saluran

produsen perangkat dapat memberikan UI untuk menyembunyikan saluran tertentu dan memungkinkan pengguna untuk mengelola Pilih berkas mereka sendiri. TV termasuk fasilitas ini.

Buka daftar saluran di Settings.
Gambar 13. Buka daftar saluran di Settings.

Sesuaikan daftar saluran Anda.
Gambar 14. Sesuaikan daftar saluran Anda.

EPG

pengembang masukan pihak ketiga harus memiliki keyakinan bahwa pengguna dapat dengan mudah menavigasi ke saluran mereka selama penggunaan umum, di semua perangkat Android TV yang kompatibel.

Saluran dari masukan pihak ketiga harus disajikan sebagai bagian dari perangkat standar pengalaman TV EPG. pemisahan visual atau kategori terpisah untuk saluran pihak ketiga dapat digunakan (lihat bagian TV App dari CDD Android) kunci -apa adalah bahwa pengguna dapat menemukan saluran yang mereka telah diinstal.

Produsen harus menerapkan App TV untuk menyertakan hasil pencarian untuk permintaan pencarian global untuk memastikan pengalaman pengguna yang terbaik. TV menyediakan implementasi (lihat com.android.tv.search.TvProviderSearch ) yang memberikan hasil dari masukan pihak ketiga (diperlukan untuk kompatibilitas platform) serta built-in input.

waktu pergeseran

Untuk perangkat Android 6.0 dan di atas, App TV harus mendukung kerangka Android waktu pergeseran API . Selain itu, produsen harus menerapkan kontrol pemutaran di App TV yang memungkinkan pengguna untuk jeda, melanjutkan, mundur, dan fast forward pemutaran.

Untuk TV Input waktu dukungan pergeseran, App TV perlu kontrol pemutaran layar.

kontrol pemutaran
Kontrol Gambar 15. Putar

DVR

Untuk perangkat Android 7.0 dan di atas, App TV harus mendukung kerangka Android API rekaman TV , dukungan, daftar, dan memutar program yang direkam.

Hal ini memungkinkan produsen perangkat untuk plug subsistem DVR mereka ke TIF dan secara dramatis mengurangi upaya integrasi yang diperlukan untuk mengaktifkan atau mengintegrasikan fungsi DVR pada perangkat TV. Hal ini juga memungkinkan pihak ketiga untuk menyediakan aftermarket DVR sistem yang dapat dipasang ke perangkat Android TV.

Selain merekam konten langsung, App TV juga menangani konflik sumber daya. Sebagai contoh, jika perangkat memiliki dua tuner, dapat merekam dua program pada saat yang sama. Jika pengguna meminta untuk merekam tiga, App TV harus menangani konflik dan harus baik permukaan pemberitahuan atau permintaan bahwa jadwal pengguna prioritas untuk permintaan ini.

TV Apps juga dapat menerapkan logika yang lebih canggih seperti meminta pengguna jika mereka ingin merekam semua episode masa depan di seri ketika mereka meminta untuk merekam satu episode.

Lihat diagram berikut untuk melihat ke dalam mungkin pelaksanaan DVR di Android TV.

merekam video digital di Android TV
Merekam video Gambar 16. Digital di TV Android

  1. Layanan TV Masukan menceritakan App TV berapa banyak tuner yang tersedia sehingga App TV dapat menangani konflik sumber daya mungkin.
  2. TV App menerima permintaan diprakarsai pengguna untuk merekam program TV.
  3. TV App menyimpan jadwal rekaman dalam database internal.
  4. Ketika tiba waktunya untuk merekam, App TV melewati permintaan untuk menyetel ke saluran terkait dengan rekaman.
  5. Layanan TV Masukan menerima permintaan ini, merespon dengan baik atau tidak ada sumber daya yang tepat, dan lagu ke saluran.
  6. Kemudian App TV melewati permintaan untuk mulai merekam ke TV Masukan Manager.
  7. Input Layanan TV menerima permintaan ini dan mulai merekam.
  8. TV Input Service menyimpan data video yang sebenarnya dalam penyimpanan, yang dapat penyimpanan eksternal atau penyimpanan awan.
  9. Ketika waktu itu untuk menyelesaikan rekaman, App TV melewati permintaan berhenti merekam dengan TV Masukan Manager.
  10. Setelah Input Layanan TV menerima permintaan tersebut, berhenti merekam dan menambahkan metadata terkait dengan Provider TV sehingga App TV dapat menunjukkan rekaman untuk pengguna ketika diminta.

Untuk informasi lebih lanjut tentang pelaksanaan Recording fitur dalam layanan Masukan TV Anda, melihat ini TV Recording artikel.

sumber daya yang berguna

  • The Android CDD dan API pengembang didokumentasikan adalah referensi definitif.
  • CTS Verifier latihan API sebagai bagian dari program pengujian kompatibilitas. Menjalankan ini terhadap TV mungkin menjadi cara yang berguna untuk melihat EPG, Search, Parental Control, dan persyaratan lainnya dalam konteks masukan pihak ketiga.
  • Lihat Tentukan Input Service TV Anda untuk harapan pengembang di daerah ini.

Bimbingan orang tua

kontrol orangtua memungkinkan blok pengguna saluran dan program tak diinginkan, tapi bypass blok dengan memasukkan kode PIN.

Tanggung jawab untuk fungsi kontrol orangtua dibagi di antara App TV, TV Masukan layanan Manager, Penyedia TV, dan TV Input.

kontrol orangtua adalah wajib, dan tertutup oleh CTS Verifier.

Sejumlah negara telah didefinisikan sistem rating yang TV Input dapat menggunakan melalui TVContentRating API . Selain itu, TV Input dapat mendaftarkan sistem rating adat mereka sendiri seperti yang ditunjukkan oleh tes CTS Verifier, yang memperkenalkan rating 'palsu'. Untuk negara-negara di mana sistem penilaian standar ada, produsen perangkat didorong untuk menggabungkan TV Masukan Kerangka Parental Control dengan mekanisme lain yang mereka mungkin termasuk.

Penyedia TV

Setiap baris saluran memiliki COLUMN_LOCKED lapangan yang digunakan untuk saluran kunci dari melihat tanpa memasukkan kode PIN. Bidang Program COLUMN_CONTENT_RATING ditujukan untuk display dan tidak digunakan untuk menegakkan kontrol orangtua.

Masukan Manajer TV

TV Masukan Manajer toko setiap diblokir TvContentRating dan merespon untuk isRatingBlocked() untuk menyarankan jika konten dengan rating yang diberikan harus diblokir.

Masukan TV

Cek Masukan TV jika konten saat ini harus diblokir dengan memanggil isRatingBlocked() pada TV Masukan manajer ketika rating dari konten yang ditampilkan telah berubah (pada program atau perubahan saluran), atau pengaturan kontrol orangtua telah berubah (pada ACTION_BLOCKED_RATINGS_CHANGED dan ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED ) . Jika konten harus diblokir, Input TV menonaktifkan audio dan video dan memberitahukan aplikasi TV bahwa kandungan saat diblokir dengan memanggil notifyContentBlocked(TvContentRating) . Jika konten tidak harus diblokir, Input TV memungkinkan audio video dan dan memberitahukan App TV konten saat ini diperbolehkan dengan memanggil notifyContentAllowed() .

TV App

Untuk menghormati API kontrol orangtua, dan karena itu menciptakan sebuah platform yang kompatibel, sistem TV App perlu menyediakan cara bagi pengguna untuk mengelola kontrol orangtua, termasuk untuk setiap peringkat kustom didaftarkan oleh aplikasi tertentu.

TV App menunjukkan PIN code UI ketika diberitahu oleh Masukan TV bahwa kandungan saat diblokir atau ketika upaya pengguna untuk melihat saluran diblokir.

TV App tidak secara langsung menyimpan pengaturan kontrol orangtua. Ketika pengguna mengubah pengaturan kontrol orangtua, setiap diblokir TvContentRating disimpan oleh Masukan Manajer TV, dan saluran diblokir disimpan oleh Penyedia TV.

TV App harus mendeklarasikan izin android.permission.MODIFY_PARENTAL_CONTROLS untuk mengubah pengaturan kontrol orangtua.

produsen perangkat didorong untuk:

  • Latihan CTS Verifier tes kontrol orangtua terhadap referensi aplikasi Live TV untuk demonstrasi persyaratan kompatibilitasnya.
  • Gunakan aplikasi TV Live sebagai referensi untuk TV App mereka sendiri: khususnya melihat ContentRatingsManager dan RatingSystemsFragment sumber, dan bagaimana mereka menangani peringkat kustom.

HDMI-CEC

HDMI-CEC memungkinkan satu perangkat untuk mengontrol lain, sehingga memungkinkan satu remote untuk mengendalikan beberapa peralatan di sebuah home theater. Hal ini digunakan oleh Android TV untuk setup kecepatan dan memungkinkan kontrol yang jauh lebih berbagai TV Input melalui TV App pusat. Misalnya, mungkin beralih input, kekuasaan atas atau bawah perangkat, dan banyak lagi.

Android TIF alat HDMI-CEC sebagai Control Service HDMI sehingga produsen perangkat hanya perlu mengembangkan driver tingkat rendah yang berinteraksi dengan ringan Android TV HAL, melompat-lompat lebih kompleks logika bisnis. Dalam memberikan penerapan standar, Android berupaya untuk mengurangi masalah kompatibilitas dengan mengurangi implementasi terfragmentasi dan dukungan fitur selektif. HDMI Control Service menggunakan layanan Android yang ada, termasuk masukan dan kekuasaan.

Ini berarti ada implementasi HDMI-CEC akan perlu dirancang ulang untuk beroperasi dengan TIF Android. Kami merekomendasikan platform perangkat keras mengandung mikroprosesor untuk menerima kuasa CEC dan perintah lain.

integrasi CEC di Android TV
Gambar 17. integrasi CEC di Android TV

  1. Bus CEC menerima perintah dari sumber yang sedang aktif untuk beralih ke sumber yang berbeda.
  2. Sopir melewati perintah ke HDMI-CEC HAL.
  3. HAL memberitahu semua ActiveSourceChangeListeners .
  4. THe Service Control HDMI diberitahu tentang perubahan sumber melalui ActiveSourceChangeListener .
  5. Layanan Manajer TV Masukan menghasilkan niat untuk App TV untuk beralih sumber.
  6. TV App kemudian menciptakan Input TV Manager Session untuk makhluk TV Masukan beralih ke dan panggilan setMain pada sesi itu.
  7. TV Masukan Manager Session melewati informasi ini ke Input HDMI TV.
  8. Permintaan masukan HDMI TV untuk set sideband permukaan.
  9. Input TV Service Manager menghasilkan routing kontrol perintah kembali sesuai dengan HDMI Control Service ketika permukaan diatur.

pedoman integrasi TV

aplikasi broadcast

Karena setiap negara memiliki persyaratan siaran khusus (MHEG, Teletext, HbbTV, dan banyak lagi), produsen diharapkan untuk menyediakan solusi mereka sendiri untuk aplikasi siaran, misalnya:

  • MHEG: asli tumpukan
  • Teletext: asli tumpukan
  • solusi HbbTV dari Vewd Software: HbbTV

Dalam rilis L Android, Android TV mengharapkan produsen perangkat untuk penggunaan sistem integrator atau solusi Android untuk tumpukan TV daerah, lulus permukaan untuk tumpukan software TV, atau lulus kode kunci yang diperlukan untuk berinteraksi dengan tumpukan warisan.

Berikut adalah cara aplikasi siaran dan televisi App berinteraksi:

  1. TV App dalam fokus, menerima semua kunci.
  2. TV App melewati kunci (misalnya tombol Red) ke perangkat TV Input.
  3. Perangkat Masukan TV internal terintegrasi dengan TV warisan stack.
  4. Pada menerima keycode aktivasi (misalnya tombol Merah), perangkat TV Masukan mengaktifkan aplikasi siaran.
  5. Sebuah aplikasi siaran mengambil fokus di App TV dan menangani tindakan pengguna.

Untuk pencarian suara / rekomendasi, aplikasi siaran dapat mendukung pencarian dalam aplikasi untuk pencarian suara.