برنامه Android TV شما ممکن است از چندین آهنگ صوتی/متن برای زبان های مختلف و تنظیمات صدای فراگیر مانند برنامه های گیرنده وب پشتیبانی کند. برای پشتیبانی از چندین آهنگ و انتخاب آهنگ، باید موارد زیر را در برنامه Android TV خود پیاده سازی کنید:
اطلاعات و وضعیت آهنگ را ارائه دهید
برای MediaInfo
سطح بالا، MediaTracks
موجود را با استفاده از MediaInfoModifier
ارائه دهید:
val mediaInfoModifier = CastReceiverContext.getInstance()
.mediaManager.mediaStatusModifier.mediaInfoModifier
mediaInfoModifier.setMediaTracks(Arrays.asList(
new MediaTrack.Builder(1, MediaTrack.TYPE_AUDIO)
.setName("English")
...
build(),
new MediaTrack.Builder(2, MediaTrack.TYPE_AUDIO)
.setName("Spanish")
...
.build()
))
MediaInfoModifier mediaInfoModifier = CastReceiverContext.getInstance()
.getMediaManager().getMediaStatusModifier().getMediaInfoModifier();
mediaInfoModifier.setMediaTracks(Arrays.asList(
new MediaTrack.Builder(1, MediaTrack.TYPE_AUDIO)
.setName("English")
...
build(),
new MediaTrack.Builder(2, MediaTrack.TYPE_AUDIO)
.setName("Spanish")
...
.build()
));
از MediaTracksModifier
برای منعکس کردن آهنگهای انتخابی فعلی استفاده کنید:
val mediaStatusModifier: MediaTracksModifier =
CastReceiverContext.getInstance()
.mediaManager.mediaStatusModifier.getMediaTracksModifer()
MediaTracksModifier.setActiveTrackIds(longArrayOf(1))
MediaTracksModifier mediaStatusModifier =
CastReceiverContext.getInstance()
.getMediaManager().getMediaStatusModifier().getMediaTracksModifer();
MediaTracksModifier.setActiveTrackIds(new long[]{1});
مراحل بالا می تواند مطمئن شود که گفتگوی انتخاب آهنگ فرستنده وضعیت صحیح را منعکس می کند.
انتخاب مسیر را کنترل کنید
برای پشتیبانی از انتخاب یک آهنگ، ابتدا باید MediaStatus.COMMAND_EDIT_TRACKS
به عنوان یک دستور رسانه پشتیبانی شده در MediaStatusModifier
اعلام کنید:
CastReceiverContext
.getInstance()
.getMediaManager()
.getMediaStatusModifier()
.setMediaCommandSupported(MediaStatus.COMMAND_EDIT_TRACKS, true)
CastReceiverContext
.getInstance()
.getMediaManager()
.getMediaStatusModifier()
.setMediaCommandSupported(MediaStatus.COMMAND_EDIT_TRACKS, true);
هنگامی که کاربر آهنگهایی را در گفتگوی انتخاب آهنگ در سمت فرستنده انتخاب میکند، برنامه Android TV شما برای تغییر آهنگهای انتخابی یک تماس پاسخ دریافت میکند. با لغو MediaCommandCallback
فرمان را مدیریت کنید:
class MyMediaCommandCallback : MediaCommandCallback() {
/** Text selection callback scoped to individual track types. */
override fun onSelectTracksByType(
senderId: String?, type: Int, tracks: List
public class MyMediaCommandCallback extends MediaCommandCallback {
/** Text selection callback scoped to individual track types. */
@Override
public Task