برنامه رسانه خود را به Android TV گسترش دهید

Android یک تجربه کاربری غنی ارائه می‌دهد که برای برنامه‌هایی که روی دستگاه‌های صفحه بزرگ اجرا می‌شوند، مانند تلویزیون‌های با کیفیت بالا، بهینه‌سازی شده است. می‌توانید مخاطبان برنامه خود را با توسعه آن برای Android TV افزایش دهید. این سند راهنمایی در مورد چگونگی انجام موثر آن ارائه می دهد.

ساخت برنامه های تلویزیونی

برنامه‌های تلویزیونی از ساختاری مشابه با گوشی‌ها و تبلت‌ها استفاده می‌کنند. این رویکرد به این معنی است که می‌توانید برنامه‌های تلویزیونی جدیدی را بر اساس آنچه از قبل در مورد ساخت برنامه‌ها برای Android می‌دانید ایجاد کنید، یا برنامه‌های موجود خود را گسترش دهید تا روی دستگاه‌های تلویزیون نیز اجرا شوند.

با این حال، مدل تعامل کاربر برای تلویزیون به طور اساسی با دستگاه های تلفن و تبلت متفاوت است. برای اینکه برنامه خود را در دستگاه های تلویزیون موفق کنید، باید طرح بندی های جدیدی طراحی کنید که از فاصله 10 فوتی به وضوح قابل درک باشد و ناوبری را ارائه دهید که فقط با یک صفحه جهت و یک دکمه انتخاب کار کند.

برای اطلاعات بیشتر در مورد ملاحظاتی مانند نحوه کار با کنترل‌کننده‌های سخت‌افزار تلویزیون، ساخت طرح‌بندی تلویزیون و ایجاد ناوبری تلویزیون، به ساخت برنامه‌های تلویزیون مراجعه کنید.

از Media3 ExoPlayer استفاده کنید

Jetpack Media3 یک رابط Player ارائه می دهد که ویژگی های اساسی مانند توانایی پخش، مکث، جستجو و نمایش اطلاعات آهنگ را تعریف می کند. ExoPlayer پیاده سازی پیش فرض این رابط در Media3 است.

در مقایسه با MediaPlayer API اندروید، امکانات بیشتری مانند پشتیبانی از پروتکل‌های پخش چندگانه، رندرهای صوتی و تصویری پیش‌فرض، و اجزایی که بافر رسانه را مدیریت می‌کنند، اضافه می‌کند.

می‌توانید ExoPlayer را سفارشی کرده و گسترش دهید، و می‌توانید آن را از طریق به‌روزرسانی‌های برنامه Play Store به‌روزرسانی کنید. برای اطلاعات بیشتر، Media3 ExoPlayer را ببینید.

از Media3 MediaSession استفاده کنید

جلسات رسانه راهی جهانی برای تعامل سیستم با پخش کننده صوتی یا تصویری برنامه شما فراهم می کند. یکی از ویژگی های اصلی که Media3 را از API های رسانه قبلی متمایز می کند این است که دیگر نیازی به اتصال دهنده ها بین اجزا نیست.

کلاس MediaSession جدید هر کلاسی را می گیرد که رابط Player را پیاده سازی کند. هر دو ExoPlayer و MediaController کلاس هایی هستند که این رابط را پیاده سازی می کنند. این تعامل بسیار ساده‌تر بین اجزا را تسهیل می‌کند. برای اطلاعات بیشتر، به رابط پخش کننده مراجعه کنید.

برای اطلاعات بیشتر درباره ایجاد برنامه پخش رسانه، به ایجاد یک پخش کننده رسانه اصلی با استفاده از ExoPlayer مراجعه کنید.

برای ایجاد بهترین تجربه برای کاربران نهایی برنامه رسانه خود، باید MediaSession پیاده سازی کنید. برای انجام این کار، یک Player مقداردهی اولیه کنید و آن را به MediaSession.Builder به شکل زیر عرضه کنید:

کاتلین

val player = ExoPlayer.Builder(context).build()
val mediaSession = MediaSession.Builder(context, player).build()

جاوا

ExoPlayer player = new ExoPlayer.Builder(context).build();
MediaSession mediaSession = new MediaSession.Builder(context, player).build();

کنترل حالت خودکار

کتابخانه Media3 به طور خودکار جلسه رسانه را با استفاده از وضعیت پخش کننده به روز می کند. به این ترتیب، نیازی به انجام دستی نقشه برداری از بازیکنی به جلسه دیگر ندارید. این کمک می‌کند مطمئن شوید که کاربران شما همیشه اطلاعات به‌روز را در رسانه‌های در حال پخش، از جمله در کارت Now Playing مشاهده می‌کنند.

پخش را کنترل و تبلیغ کنید

در Media3، پخش کننده پیش فرض کلاس ExoPlayer است که رابط Player را پیاده سازی می کند. اتصال جلسه رسانه به پخش کننده به یک برنامه امکان می دهد پخش رسانه را به صورت خارجی تبلیغ کند و دستورات پخش را از منابع خارجی دریافت کند. جلسه رسانه این دستورات را به پخش کننده برنامه رسانه واگذار می کند.

جلسه رسانه کلید کنترل پخش است. این به شما امکان می دهد دستورات را از منابع خارجی به پخش کننده ای که کار پخش رسانه شما را انجام می دهد هدایت کنید. کلاینت‌های خارجی می‌توانند از یک کنترل‌کننده رسانه برای صدور فرمان‌های پخش به برنامه رسانه شما استفاده کنند. اینها توسط جلسه رسانه شما دریافت می شود که در نهایت دستورات را به پخش کننده رسانه منتقل می کند.

برای اطلاعات بیشتر در مورد پخش، مانند نحوه سفارشی کردن رفتار فرمان پخش، به کنترل و تبلیغ پخش با استفاده از MediaSession مراجعه کنید.

از ایجاد اختلال در برنامه خود جلوگیری کنید

استفاده از MediaSession به شما امکان می دهد از اختلالات غیرضروری مانند:

  • پخش غیرمنتظره و ادامه دار هنگام خاموش کردن تلویزیون یا تعویض ورودی های تلویزیون. این امر همچنین باعث مصرف بالای انرژی برای سخت افزار تلویزیون می شود. با MediaSession ، برنامه شما می‌تواند به پلتفرم اطلاع دهد که در حال پخش رسانه است، و پلتفرم می‌تواند به برنامه اطلاع دهد که پخش می‌تواند متوقف شود.

  • هنگام خارج شدن از برنامه یا خاموش کردن نمایشگر تلویزیون، پخش موسیقی به طور غیرمنتظره ای متوقف می شود . استفاده از MediaSession API ها، پخش مداوم را در یک سرویس پس زمینه فعال می کند.

  • تعامل محدود با محتوایی که کاربران را از کنترل پخش باز می دارد. به عنوان مثال، اگر برنامه شما در حال پخش موسیقی در پس‌زمینه است یا از دستورات صوتی پشتیبانی می‌کند، به برنامه خود بازگردید. با MediaSession در برنامه شما، کاربران می توانند از دستورات صوتی برای جستجو و رد کردن آهنگ ها یا قسمت ها استفاده کنند .

ملاحظات بیشتر

همانطور که برنامه رسانه خود را به Android برای تلویزیون گسترش می دهید، باید مسائل دسترسی، نحوه ایجاد تعامل، نحوه فعال کردن کاربران برای یافتن محتوا، و همچنین نحوه ساخت بازی ها و خدمات ورودی تلویزیون را در نظر بگیرید.

دسترسی به تلویزیون

اگرچه فناوری‌های کمکی می‌توانند به کاربرانی با دید ضعیف کمک کنند، اما حمایت از دسترسی در سفرهای کشف محتوا برای برنامه‌های تلویزیونی مهم است.

به عنوان مثال، به ارائه راهنمایی های پیمایش و برچسب گذاری صحیح عناصر توجه بیشتری داشته باشید و به اطمینان حاصل کنید که برنامه های تلویزیونی با ویژگی های دسترسی مانند TalkBack به خوبی کار می کنند. این مراحل می تواند به طور قابل توجهی تجربه را برای کاربران با اختلالات بینایی بهبود بخشد.

اولین قدم برای بهبود دسترسی، آگاهی است. برای اطلاعات بیشتر در مورد مقیاس بندی متن، طرح‌بندی صفحه‌کلید، و توضیحات صوتی، به منابع دسترس‌پذیری مراجعه کنید.

بهترین روش‌ها برای ایجاد تعامل در Google TV

همه برنامه‌های ساخته شده برای Android TV روی دستگاه‌های دارای Google TV کار می‌کنند. برای ارائه بهترین تجربه کاربری در Google TV، توصیه می‌کنیم بهترین روش‌های زیر را اعمال کنید.

شما باید از MediaSession استفاده کنید تا روشی جهانی برای تعامل با پخش کننده صوتی یا تصویری ارائه دهید. برای اطلاعات بیشتر در مورد نحوه اجرای این، استفاده از Media3 MediaSession را ببینید.

به عنوان پایه، برنامه شما باید از Google Cast پشتیبانی کند. این به شما امکان می‌دهد برنامه‌های Android، iOS و Chrome خود را گسترش دهید تا پخش صدا و تصویر را به تلویزیون‌های Android و همچنین دستگاه‌های Chromecast و دستگاه‌های Assistant فعال کنید. برای اطلاعات بیشتر، به مستندات Google Cast مراجعه کنید.

شما همچنین می توانید به کاربران کمک کنید:

  • با ارائه فید کنش‌های رسانه‌ای یا ادغام Watch Next، محتوا را در سراسر سطوح کشف کنید .

  • با پشتیبانی از پیوند حساب و همگام سازی حق، ارائه ارسال صدا و فعال کردن Cast Connect از مزیت صدا و تعامل بهره ببرید .

  • با ادغام صورت‌حساب Google Play و ارائه اشتراک‌های بدون اصطکاک، راحت‌تر پرداخت کنید .

ساخت چارچوب ورودی تلویزیون

تماشای برنامه‌های تلویزیونی زنده و سایر محتوای مستمر و مبتنی بر کانال بخش بزرگی از تجربه تلویزیون است. کاربران به انتخاب و تماشای برنامه های تلویزیونی از طریق مرور کانال عادت دارند. TV Input Framework کانال هایی را برای انتشار محتوای ایده یا موسیقی در راهنمای برنامه نویسی تلویزیون ایجاد می کند.

چارچوب ورودی تلویزیون روشی یکپارچه برای دریافت و پخش محتوای ویدیویی زنده از منابع سخت‌افزاری مانند پورت‌های HDMI و تیونرهای داخلی و منابع نرم‌افزاری مانند ویدیوهای پخش‌شده از طریق اینترنت ارائه می‌کند. برای اطلاعات بیشتر، خدمات ورودی تلویزیون ساخت را ببینید.