گسترش برنامه رسانه به Android TV

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

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

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

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

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

استفاده از Media3 ExoPlayer

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

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

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

استفاده از Media3 MediaSession

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

کلاس جدید 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 به‌طور خودکار جلسه رسانه را بااستفاده از وضعیت پخش‌کننده به‌روز می‌کند. به‌این‌ترتیب، نیازی نیست که نگاشت از بازیکن به جلسه را به‌صورت دستی انجام دهید. این کار کمک می‌کند مطمئن شوید کاربران شما همیشه اطلاعات به‌روز را درباره رسانه درحال پخش، ازجمله در کارت درحال پخش، می‌بینند.

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

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

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

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

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

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

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

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

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

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

وقتی برنامه رسانه‌تان را به Android ویژه تلویزیون گسترش می‌دهید، باید مشکلات دسترس‌پذیری، نحوه افزایش تعامل، نحوه فعال کردن کاربران برای پیدا کردن محتوا، و همچنین نحوه ساختن بازی‌ها و سرویس‌های ورودی تلویزیون را درنظر بگیرید.

دسترس‌پذیری تلویزیون

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

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

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

روال‌های مطلوب برای افزایش تعامل در Google TV

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

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

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

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

  • محتوا را در سطوح مختلف کاوش کنید با ارائه فید کنش‌های رسانه‌ای، یا ادغام «تماشای بعدی».

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

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

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

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

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