البث التلفزيوني المباشر هو تطبيق تلفزيون مرجعي تم تصميمه لأجهزة Android TV. ومع ذلك، الشركات المصنعة للأجهزة في إضافة المزيد من الوظائف الخاصة بالمنتجات، وهي غير مشمولة في التطبيق التلقائي للبث التلفزيوني المباشر، مثل الصور التعديل أو وضع الألعاب أو الوضع الثلاثي الأبعاد. لدعم هذه الدوال الخاصة بالجهاز أو الخيارات، فإن البث التلفزيوني المباشر يتيح هذه التخصيصات:
- تمكين وضع التسجيل على وسيط المؤقت، مما يسمح للمستخدمين بالإيقاف المؤقت والتقديم السريع وترجيعه. ضبط وضع التبديل الزمني للاستخدام وحدة تخزين خارجية بدلاً من وحدة تخزين داخلية.
- جارٍ إضافة خيارات إلى صف خيارات التلفزيون.
- إضافة صف مخصّص وإضافة خيارات فيه.
ملاحظة: مباشر
القنوات هي الخيار الذي تطبّقه Google على خدمة البث التلفزيوني المباشر والتي يمكن استخدامها كما هي مفعَّلة.
الأجهزة مزودًا بخدمات Google. لتخصيص القنوات المباشرة، يُرجى استبدال
com.android.tv.*
مع com.google.android.tv.*
في هذه
على التعليمات
تخصيص البثّ التلفزيوني المباشر
لتخصيص البث التلفزيوني المباشر، يحتاج جهاز Android TV المستهدَف إلى حزمة تخصيص.
والذي يجب أن يكون تطبيق نظام مُعَدّ مسبقًا وبه
إذن com.android.tv.permission.CUSTOMIZE_TV_APP
.
يبحث البثّ التلفزيوني المباشر عن حزمة نظام لديها هذا الإذن، ويتحقّق من المورد. واكتشاف أنشطة الحزمة موضوع عليها فئات محددة لمعالجة التخصيص.
ملاحظة رئيسية: يمكن تخصيص حزمة واحدة فقط للبث التلفزيوني المباشر.
ضبط وضع "التحكّم بالبثّ"
تسمح ميزة "التحكّم بالبثّ" (trickplay) لأجهزة Android TV بالإيقاف المؤقت أو الترجيع وتقديم محتوى القناة بسرعة. في تنفيذ البث التلفزيوني المباشر، تشمل عملية التسجيل على يمكن استخدامه عبر واجهة مستخدم عناصر التحكم في Play. يتم تفعيل ميزة "التحكّم بالبثّ" تلقائيًا في بث تلفزيوني مباشر، ولكن يمكن إيقافه. يمكن أيضًا ضبط ميزة "التحكّم بالبثّ" لاستخدام وحدة التخزين الخارجية فقط.
لضبط عملية التسجيل على وسيط تخزين، أضِف مورد السلسلة trickplay_mode
واضبط قيمته على أحد الخيارات التالية:
enabled
: تفعيل التسجيل على وسيط هذه هي القيمة الافتراضية عندما لم يتم تقديم أي خيارات.disabled
: إيقاف ميزة "التحكّم بالبثّ"use_external_storage_only
: ضبط ميزة "التحكّم بالبثّ" لاستخدامها وحدة التخزين الخارجية.
<string name="trickplay_mode">use_external_storage_only</string>
تخصيص خيارات التلفزيون
يمكن للشركات المصنّعة للأجهزة إضافة خيارات مخصّصة لإعدادات "البث التلفزيوني المباشر" إلى الإعدادات الحالية. قائمة خيارات التلفزيون، مثل إضافة اختصار إلى إعدادات الصورة الصوتية
للإشارة إلى خيار مخصّص، أفصح عن فلتر أهداف يفلتر الفئة
com.android.tv.category.OPTIONS_ROW
في نشاط. الميزة المخصصة
من قِبل الشركة المصنّعة للجهاز في النشاط. النشاط
وستبدأ تشغيله في حال النقر على الخيار. يُستخدم عنوان النشاط ورمزه
الخيار. يجب أن تتطابق خيارات التلفزيون المخصّصة مع واجهة المستخدم الحالية لتوفير
أفضل تجربة للمستخدم.
ملاحظة: يمكن للنشاط معالجة خيار واحد فقط. لأنّ البث التلفزيوني المباشر لا يمكنه التمييز بين فلاتر الأهداف في نشاط مماثل فئة نظرًا لقيود Android. يُرجى الاطّلاع على التعامل مع الخيارات المتعددة في نشاطك كحل بديل.
كما يمكن للشركات المصنّعة للأجهزة وضع خيار مخصص قبل القائمة الحالية أو بعدها
من خلال تحديد android:priority
في AndroidManifest.xml
.
يظهر خيار ذو قيمة أولوية محددة أقل من 100 قبل القيمة الحالية
عنصر ثم تظهر قيمة أكبر من 100 بعد ذلك. خيارات مخصصة متعددة (إما
قبل الخيارات الموجودة أو بعدها) يتم فرزها حسب الأولوية في ترتيب تصاعدي
طلبك. إذا كان للخيارات الأولوية نفسها، فسيكون الترتيب فيما بينها غير محدد.
في هذا المثال، يظهر الخيار أولاً في صف "خيارات التلفزيون" يتم تشغيل PictureSettingsActivity في حال النقر على الخيار.
<activity android:name=".PictureSettingsActivity" android:label="@string/activity_label_picture_settings" android:theme="@style/Theme.Panel"> <intent-filter android:icon="@drawable/ic_tvoptions_brightness" android:label="@string/option_label_brightness" android:priority="0"> <action android:name="android.intent.action.MAIN" /> <category android:name="com.android.tv.category.OPTIONS_ROW" /> </intent-filter> </activity>
التعامل مع خيارات متعددة في نشاط
يرتبط أحد الخيارات بفلتر أهداف النشاط والعكس صحيح. لأنّ Android
يميّز فلاتر الأهداف مع الفئات والإجراءات نفسها،
يعالج النشاط خيارًا واحدًا فقط، حتى إذا تم الإعلان عن فلاتر أهداف متعددة
فيها. للتعامل مع خيارات متعددة في نشاط ما، استخدم
<activity-alias>
في AndroidManifest.xml
. في جلسة المعمل،
نشاطك، استخدِم getIntent().getComponent()
لتحديد الخيار الذي تم النقر عليه.
<activity-alias android:name=".AnyUniqueName" android:targetActivity=".PictureSettingsActivity"> <intent-filter android:icon="@drawable/ic_tvoptions_energy_saving" android:label="@string/option_label_energy_saving" android:priority="1"> <action android:name="android.intent.action.MAIN" /> <category android:name="com.android.tv.category.OPTIONS_ROW" /> </intent-filter> </activity-alias>
إنشاء صف مخصّص
يمكن للشركات المصنّعة للأجهزة إضافة صف وتخصيصه أعلى صف خيارات التلفزيون. هذا الصف المخصّص اختياري.
عنوان الصف
تحديد سلسلة partner_row_title
في
res/values/strings.xml
تُستخدم قيمة السلسلة للحقل المخصص
عنوان الصف.
<string name="partner_row_title">Partner Row</string>
خيارات مخصصة
لإضافة خيارات مخصصة إلى الصف المخصص، اتبع عملية إضافة الخيارات
إلى قائمة خيارات التلفزيون، ولكن غيِّر اسم الفئة إلى
com.android.tv.category.PARTNER_ROW
بدلاً من ذلك.
<activity android:name=".ThreeDimensionalSettingDialogActivity" android:label="@string/activity_label_3d" android:theme="@android:style/Theme.Material.Light.Dialog"> <intent-filter android:icon="@drawable/ic_tvoptions_3d" android:priority="0"> <action android:name="android.intent.action.MAIN" /> <category android:name="com.android.tv.category.PARTNER_ROW" /> </intent-filter> </activity>