nativescript-cast
Version:
NativeScript Chromecast Plugin.
570 lines • 26.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var camelCase_1 = require("lodash/fp/camelCase");
var snakeCase_1 = require("lodash/fp/snakeCase");
var utils_1 = require("tns-core-modules/utils/utils");
var cast_common_1 = require("./cast.common");
var cast_types_1 = require("./cast.types");
var media_queue_callback_android_1 = require("./media-queue-callback.android");
var media_router_callback_android_1 = require("./media-router-callback.android");
var remote_media_client_callback_android_1 = require("./remote-media-client-callback.android");
var session_manager_listener_android_1 = require("./session-manager-listener.android");
var _a = androidx.mediarouter.media, MediaRouter = _a.MediaRouter, MediaRouteSelector = _a.MediaRouteSelector, MediaControlIntent = _a.MediaControlIntent;
var _b = com.google.android.gms.cast.framework, CastButtonFactory = _b.CastButtonFactory, CastContext = _b.CastContext;
var _c = com.google.android.gms.cast, MediaInfo = _c.MediaInfo, MediaLoadRequestData = _c.MediaLoadRequestData, MediaMetadata = _c.MediaMetadata, MediaQueueData = _c.MediaQueueData, MediaQueueItem = _c.MediaQueueItem, MediaStatus = _c.MediaStatus, MediaTrack = _c.MediaTrack;
var METADATA_PREFIX = 'KEY_';
var ArrayList = java.util.ArrayList;
var WebImage = com.google.android.gms.common.images.WebImage;
var SessionManagerListener;
function initSessionManagerListener() {
if (SessionManagerListener) {
return;
}
SessionManagerListener = session_manager_listener_android_1.SessionManagerListenerImpl;
}
var ProgressListener;
function initProgressListener() {
if (ProgressListener) {
return;
}
}
function metadataTypeEnumToString(metadataType) {
switch (metadataType) {
case MediaMetadata.MEDIA_TYPE_MOVIE:
return cast_types_1.MetadataType.MOVIE;
case MediaMetadata.MEDIA_TYPE_TV_SHOW:
return cast_types_1.MetadataType.TV_SHOW;
case MediaMetadata.MEDIA_TYPE_MUSIC_TRACK:
return cast_types_1.MetadataType.MUSIC_TRACK;
case MediaMetadata.MEDIA_TYPE_PHOTO:
return cast_types_1.MetadataType.PHOTO;
case MediaMetadata.MEDIA_TYPE_USER:
return cast_types_1.MetadataType.USER;
case MediaMetadata.MEDIA_TYPE_AUDIOBOOK_CHAPTER:
return cast_types_1.MetadataType.AUDIO_BOOK_CHAPTER;
default:
return cast_types_1.MetadataType.GENERIC;
}
}
exports.metadataTypeEnumToString = metadataTypeEnumToString;
function metadataTypeStringToEnum(metadataType) {
switch (metadataType) {
case cast_types_1.MetadataType.MOVIE:
return MediaMetadata.MEDIA_TYPE_MOVIE;
case cast_types_1.MetadataType.TV_SHOW:
return MediaMetadata.MEDIA_TYPE_TV_SHOW;
case cast_types_1.MetadataType.MUSIC_TRACK:
return MediaMetadata.MEDIA_TYPE_MUSIC_TRACK;
case cast_types_1.MetadataType.PHOTO:
return MediaMetadata.MEDIA_TYPE_PHOTO;
case cast_types_1.MetadataType.AUDIO_BOOK_CHAPTER:
return MediaMetadata.MEDIA_TYPE_AUDIOBOOK_CHAPTER;
case cast_types_1.MetadataType.USER:
return MediaMetadata.MEDIA_TYPE_USER;
default:
return MediaMetadata.MEDIA_TYPE_GENERIC;
}
}
exports.metadataTypeStringToEnum = metadataTypeStringToEnum;
function streamTypeEnumToString(streamType) {
switch (streamType) {
case MediaInfo.STREAM_TYPE_BUFFERED:
return cast_types_1.StreamType.BUFFERED;
case MediaInfo.STREAM_TYPE_LIVE:
return cast_types_1.StreamType.LIVE;
case MediaInfo.STREAM_TYPE_INVALID:
return cast_types_1.StreamType.UNKNOWN;
default:
return cast_types_1.StreamType.NONE;
}
}
exports.streamTypeEnumToString = streamTypeEnumToString;
function streamTypeStringToEnum(streamType) {
switch (streamType) {
case cast_types_1.StreamType.BUFFERED:
return MediaInfo.STREAM_TYPE_BUFFERED;
case cast_types_1.StreamType.LIVE:
return MediaInfo.STREAM_TYPE_LIVE;
case cast_types_1.StreamType.UNKNOWN:
return MediaInfo.STREAM_TYPE_INVALID;
default:
return MediaInfo.STREAM_TYPE_NONE;
}
}
exports.streamTypeStringToEnum = streamTypeStringToEnum;
function repeatModeStringToEnum(repeatMode) {
switch (repeatMode) {
case cast_types_1.RepeatMode.OFF:
return MediaStatus.REPEAT_MODE_REPEAT_OFF;
case cast_types_1.RepeatMode.SINGLE:
return MediaStatus.REPEAT_MODE_REPEAT_SINGLE;
case cast_types_1.RepeatMode.ALL:
return MediaStatus.REPEAT_MODE_REPEAT_ALL;
case cast_types_1.RepeatMode.ALL_AND_SHUFFLE:
return MediaStatus.REPEAT_MODE_REPEAT_ALL_AND_SHUFFLE;
default:
return MediaStatus.REPEAT_MODE_REPEAT_OFF;
}
}
exports.repeatModeStringToEnum = repeatModeStringToEnum;
function repeatModeEnumToString(repeatMode) {
switch (repeatMode) {
case MediaStatus.REPEAT_MODE_REPEAT_OFF:
return cast_types_1.RepeatMode.OFF;
case MediaStatus.REPEAT_MODE_REPEAT_SINGLE:
return cast_types_1.RepeatMode.SINGLE;
case MediaStatus.REPEAT_MODE_REPEAT_ALL:
return cast_types_1.RepeatMode.ALL;
case MediaStatus.REPEAT_MODE_REPEAT_ALL_AND_SHUFFLE:
return cast_types_1.RepeatMode.ALL_AND_SHUFFLE;
default:
return cast_types_1.RepeatMode.OFF;
}
}
exports.repeatModeEnumToString = repeatModeEnumToString;
function queueTypeStringToEnum(queueType) {
switch (queueType) {
case cast_types_1.QueueType.ALBUM:
return MediaQueueData.MEDIA_QUEUE_TYPE_ALBUM;
case cast_types_1.QueueType.PLAYLIST:
return MediaQueueData.MEDIA_QUEUE_TYPE_PLAYLIST;
case cast_types_1.QueueType.AUDIO_BOOK:
return MediaQueueData.MEDIA_QUEUE_TYPE_AUDIO_BOOK;
case cast_types_1.QueueType.RADIO_STATION:
return MediaQueueData.MEDIA_QUEUE_TYPE_RADIO_STATION;
case cast_types_1.QueueType.PODCAST_SERIES:
return MediaQueueData.MEDIA_QUEUE_TYPE_PODCAST_SERIES;
case cast_types_1.QueueType.TV_SERIES:
return MediaQueueData.MEDIA_QUEUE_TYPE_TV_SERIES;
case cast_types_1.QueueType.VIDEO_PLAYLIST:
return MediaQueueData.MEDIA_QUEUE_TYPE_VIDEO_PLAYLIST;
case cast_types_1.QueueType.LIVE_TV:
return MediaQueueData.MEDIA_QUEUE_TYPE_LIVE_TV;
case cast_types_1.QueueType.MOVIE:
return MediaQueueData.MEDIA_QUEUE_TYPE_MOVIE;
default:
return MediaQueueData.MEDIA_QUEUE_TYPE_GENERIC;
}
}
exports.queueTypeStringToEnum = queueTypeStringToEnum;
function queueTypeEnumToString(queueType) {
switch (queueType) {
case MediaQueueData.MEDIA_QUEUE_TYPE_ALBUM:
return cast_types_1.QueueType.ALBUM;
case MediaQueueData.MEDIA_QUEUE_TYPE_PLAYLIST:
return cast_types_1.QueueType.PLAYLIST;
case MediaQueueData.MEDIA_QUEUE_TYPE_AUDIO_BOOK:
return cast_types_1.QueueType.AUDIO_BOOK;
case MediaQueueData.MEDIA_QUEUE_TYPE_RADIO_STATION:
return cast_types_1.QueueType.RADIO_STATION;
case MediaQueueData.MEDIA_QUEUE_TYPE_PODCAST_SERIES:
return cast_types_1.QueueType.PODCAST_SERIES;
case MediaQueueData.MEDIA_QUEUE_TYPE_TV_SERIES:
return cast_types_1.QueueType.TV_SERIES;
case MediaQueueData.MEDIA_QUEUE_TYPE_VIDEO_PLAYLIST:
return cast_types_1.QueueType.VIDEO_PLAYLIST;
case MediaQueueData.MEDIA_QUEUE_TYPE_LIVE_TV:
return cast_types_1.QueueType.LIVE_TV;
case MediaQueueData.MEDIA_QUEUE_TYPE_MOVIE:
return cast_types_1.QueueType.MOVIE;
default:
return cast_types_1.QueueType.GENERIC;
}
}
exports.queueTypeEnumToString = queueTypeEnumToString;
function convertMediaInfo(mediaInfo) {
if (!mediaInfo) {
return null;
}
var metadata = mediaInfo.getMetadata();
var metaDataKeys = utils_1.ad.collections.stringSetToStringArray(metadata.keySet());
var images = metadata.getImages();
var tracks = mediaInfo.getMediaTracks();
var textTracks = [];
if (tracks) {
for (var i = 0; i < tracks.size(); i++) {
var track = tracks.get(i);
if (track.getType() === MediaTrack.TYPE_TEXT) {
textTracks.push({
id: track.getId(),
src: track.getContentId(),
contentType: track.getContentType(),
name: track.getName(),
language: track.getLanguage(),
});
}
}
}
var castMetadata = {
metadataType: metadataTypeEnumToString(metadata.getMediaType()),
images: [],
};
metaDataKeys.forEach(function (key) {
var fixedKey = camelCase_1.default(key.replace('com.google.android.gms.cast.metadata.', ''));
castMetadata[fixedKey] = metadata.getString(key);
});
if (images) {
for (var index_1 = 0; index_1 < images.size(); index_1++) {
var img = images.get(index_1);
castMetadata.images.push({
url: img.getUrl().toString(),
width: img.getWidth(),
height: img.getHeight()
});
}
}
return {
contentId: mediaInfo.getContentId(),
streamType: streamTypeEnumToString(mediaInfo.getStreamType()),
contentType: mediaInfo.getContentType(),
metadata: castMetadata,
duration: mediaInfo.getStreamDuration() / 1000,
textTracks: textTracks
};
}
exports.convertMediaInfo = convertMediaInfo;
var CastButton = (function (_super) {
__extends(CastButton, _super);
function CastButton() {
return _super.call(this) || this;
}
CastButton.prototype.createNativeView = function () {
var appContext = utils_1.ad.getApplicationContext();
initSessionManagerListener();
var button = new androidx.mediarouter.app.MediaRouteButton(this._context);
CastButtonFactory.setUpMediaRouteButton(appContext, button);
this.mMediaRouter = MediaRouter.getInstance(appContext);
this.mMediaRouteSelector = new MediaRouteSelector.Builder()
.addControlCategory(MediaControlIntent.CATEGORY_LIVE_VIDEO)
.addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK)
.build();
this.mMediaRouterCallback = new media_router_callback_android_1.MediaRouterCallback(this);
this.mCastContext = CastContext.getSharedInstance(appContext);
this.mSessionManager = this.mCastContext.getSessionManager();
this.mSessionManagerListener = new SessionManagerListener(this);
this.mRemoteMediaClientCallback = new remote_media_client_callback_android_1.RemoteMediaClientCallback(this);
this.mMediaQeueuCallback = new media_queue_callback_android_1.MediaQueueCallback(this);
this.addMediaRouterCallback();
this.addSessionManagerListener();
return button;
};
CastButton.prototype.getNativeView = function () {
return this.nativeView;
};
CastButton.prototype.initNativeView = function () {
this.nativeView.owner = this;
_super.prototype.initNativeView.call(this);
};
CastButton.prototype.disposeNativeView = function () {
this.nativeView.owner = null;
this.removeMediaRouterCallback();
this.removeSessionManagerListener();
_super.prototype.disposeNativeView.call(this);
};
CastButton.prototype.addMediaRouterCallback = function () {
this.mMediaRouter.addCallback(this.mMediaRouteSelector, this.mMediaRouterCallback, MediaRouter.CALLBACK_FLAG_REQUEST_DISCOVERY);
};
CastButton.prototype.removeMediaRouterCallback = function () {
if (this.mMediaRouter && this.mMediaRouterCallback) {
this.mMediaRouter.removeCallback(this.mMediaRouterCallback);
}
};
CastButton.prototype.addSessionManagerListener = function () {
this.mSessionManager.addSessionManagerListener(this.mSessionManagerListener);
};
CastButton.prototype.removeSessionManagerListener = function () {
this.mSessionManager.removeSessionManagerListener(this.mSessionManagerListener);
};
CastButton.prototype.addRemoteMediaClientCallback = function () {
this.getRemoteMediaClient().registerCallback(this.mRemoteMediaClientCallback);
};
CastButton.prototype.removeRemoteMediaClientCallback = function () {
this.getRemoteMediaClient().unregisterCallback(this.mRemoteMediaClientCallback);
};
CastButton.prototype.addMediaQueueCallback = function () {
var mediaQueue = this.getRemoteMediaClient().getMediaQueue();
mediaQueue.registerCallback(this.mMediaQeueuCallback);
};
CastButton.prototype.removeMediaQueueCallback = function () {
var mediaQueue = this.getRemoteMediaClient().getMediaQueue();
mediaQueue.unregisterCallback(this.mMediaQeueuCallback);
};
CastButton.prototype.addProgressListenenr = function () {
this.getRemoteMediaClient().addProgressListener(this.mRemoteMediaClientProgressListener, 100);
};
CastButton.prototype.removeProgressListener = function () {
this.getRemoteMediaClient().removeProgressListener(this.mRemoteMediaClientProgressListener);
};
CastButton.prototype.getRemoteMediaClient = function () {
return this.mSessionManager.getCurrentCastSession().getRemoteMediaClient();
};
CastButton.prototype.buildMediaInfo = function (mediaInfo) {
var metadata;
if (mediaInfo.metadata) {
var metadataType = metadataTypeStringToEnum(mediaInfo.metadata.metadataType);
metadata = new MediaMetadata(metadataType);
Object.keys(mediaInfo.metadata).forEach(function (key) {
if (cast_common_1.CastButtonBase.validMetadataKeys.indexOf(key) > -1) {
var fixedKey = METADATA_PREFIX + snakeCase_1.default(key).toUpperCase();
var value = mediaInfo.metadata[key];
metadata.putString(MediaMetadata[fixedKey], value);
}
});
if (mediaInfo.metadata.images && mediaInfo.metadata.images.length) {
mediaInfo.metadata.images.forEach(function (img) {
var uri = android.net.Uri.parse(img.url);
var thumb = new WebImage(uri, img.width, img.height);
metadata.addImage(thumb);
});
}
}
var streamType = streamTypeStringToEnum(mediaInfo.streamType);
var mediaInformation = new MediaInfo.Builder(mediaInfo.contentId)
.setContentType(mediaInfo.contentType)
.setStreamType(MediaInfo[streamType]);
if (metadata) {
mediaInformation.setMetadata(metadata);
}
if (mediaInfo.duration) {
mediaInformation.setStreamDuration(mediaInfo.duration);
}
if (mediaInfo.customData) {
var customData = new org.json.JSONObject(JSON.stringify(mediaInfo.customData));
mediaInformation.setCustomData(customData);
}
if (mediaInfo.textTracks && mediaInfo.textTracks.length > 0) {
var tracks_1 = new ArrayList();
mediaInfo.textTracks.forEach(function (item, index) {
var track = new MediaTrack.Builder(index + 1, MediaTrack.TYPE_TEXT)
.setContentId(item.src)
.setContentType(item.contentType)
.setSubtype(MediaTrack.SUBTYPE_SUBTITLES)
.setName(item.name)
.setLanguage(item.language)
.build();
tracks_1.add(track);
});
mediaInformation.setMediaTracks(tracks_1);
}
return mediaInformation.build();
};
CastButton.prototype.buildQueueItem = function (options) {
var builtMediaInfo = this.buildMediaInfo(options.mediaInformation);
var builder = new MediaQueueItem.Builder(builtMediaInfo)
.setAutoplay(options.autoplay || true)
.setCustomData(options.customData)
.setPlaybackDuration(options.playbackDuration || Infinity)
.setPreloadTime(options.preloadTime)
.setStartTime(options.startTime || 0);
if (options.activeTrackIds && options.activeTrackIds.length) {
builder.setActiveTrackIds(options.activeTrackIds);
}
return builder.build();
};
CastButton.prototype.loadMedia = function (media, options) {
var builtMediaInfo = this.buildMediaInfo(media);
var requestData = new MediaLoadRequestData.Builder()
.setAutoplay(new java.lang.Boolean(options.autoplay))
.setCredentials(options.credentials)
.setCredentialsType(options.credentialsType)
.setCurrentTime(options.startTime)
.setCustomData(options.customData)
.setMediaInfo(builtMediaInfo)
.setPlaybackRate(options.playbackRate)
.setQueueData(null);
if (options.activeTrackIds && options.activeTrackIds.length) {
requestData.setActiveTrackIds(options.activeTrackIds);
}
this.addRemoteMediaClientCallback();
this.addProgressListenenr();
this.getRemoteMediaClient().load(requestData.build());
};
CastButton.prototype.loadQueue = function (options) {
var _this = this;
var queueItems = new ArrayList();
options.items.forEach(function (item) {
var queueItem = _this.buildQueueItem(item);
if (queueItem) {
queueItems.add(queueItem);
}
else {
console.log('queue item not built');
console.log(item);
}
});
var queueData = new MediaQueueData.Builder();
if (options) {
queueData
.setName(options.name)
.setQueueId(options.queueID)
.setQueueType(queueTypeStringToEnum(options.queueType))
.setRepeatMode(repeatModeStringToEnum(options.repeatMode))
.setStartIndex(options.startIndex || 0)
.setStartTime(options.startTime || 0);
}
queueData.setItems(queueItems);
this.addRemoteMediaClientCallback();
this.addMediaQueueCallback();
var requestData = new MediaLoadRequestData.Builder()
.setAutoplay(new java.lang.Boolean(options.autoplay || true))
.setQueueData(queueData.build());
this.getRemoteMediaClient().load(requestData.build());
};
CastButton.prototype.showController = function () {
var intent = new android.content.Intent(this._context, com.google.android.gms.cast.framework.media.widget.ExpandedControllerActivity.class);
this._context.startActivity(intent);
};
CastButton.prototype.showCastInstructions = function (title, singleTime) {
if (title === void 0) { title = 'Touch to cast media to your TV'; }
if (singleTime === void 0) { singleTime = true; }
var overlay = new com.google.android.gms.cast.framework.IntroductoryOverlay.Builder(this._context, this.getNativeView())
.setTitleText(title);
if (singleTime) {
overlay.setSingleTime();
}
overlay.build().show();
};
CastButton.prototype.showCastDialog = function () {
this.getNativeView().showDialog();
};
CastButton.prototype.getMediaInfo = function () {
var mediaInfo = this.getRemoteMediaClient().getMediaInfo();
return convertMediaInfo(mediaInfo);
};
CastButton.prototype.pauseMedia = function (customData) {
this.getRemoteMediaClient().pause(customData);
};
CastButton.prototype.playMedia = function (customData) {
this.getRemoteMediaClient().play(customData);
};
CastButton.prototype.seekMedia = function (position, resumeState, customData) {
if (resumeState === void 0) { resumeState = 0; }
this.getRemoteMediaClient().seek(position * 1000, resumeState, customData);
};
CastButton.prototype.stopMedia = function (customData) {
this.getRemoteMediaClient().stop(customData);
};
CastButton.prototype.setActiveTrackIds = function (trackIds) {
this.getRemoteMediaClient().setActiveMediaTracks(trackIds);
};
CastButton.prototype.setTintColor = function () {
console.log('setTintColor not available for Android.');
};
CastButton.prototype.setVolume = function (volume, customData) {
var remoteMediaClient = this.getRemoteMediaClient();
remoteMediaClient.setStreamVolume(volume, customData);
};
CastButton.prototype.setMuted = function (muted, customData) {
var remoteMediaClient = this.getRemoteMediaClient();
remoteMediaClient.setStreamMute(muted, customData);
};
CastButton.prototype.queueNextItem = function () {
this.getRemoteMediaClient().queueNext(null);
};
CastButton.prototype.queuePreviousItem = function () {
this.getRemoteMediaClient().queuePrev(null);
};
CastButton.prototype.queueSetRepeatMode = function (repeatMode) {
this.getRemoteMediaClient().queueSetRepeatMode(repeatModeStringToEnum(repeatMode), null);
};
CastButton.prototype.queueFetchItemIDs = function () {
console.log('queueFetchItemIDs not implemented');
};
CastButton.prototype.queueFetchItemAtIndex = function (index) {
console.log('queueFetchItemAtIndex not implemented');
};
CastButton.prototype.queueInsertItem = function (options) {
var queueItem = this.buildQueueItem(options.item);
if (options.play) {
this.getRemoteMediaClient().queueInsertAndPlayItem(queueItem, options.beforeItemID || com.google.android.gms.cast.MediaQueueItem.INVALID_ITEM_ID, options.playPosition || 0, options.customData);
}
else {
this.getRemoteMediaClient().queueInsertItems([queueItem], options.beforeItemID || com.google.android.gms.cast.MediaQueueItem.INVALID_ITEM_ID, options.customData);
}
};
CastButton.prototype.queueInsertItems = function (options) {
var _this = this;
var queueItems = [];
options.items.forEach(function (item) {
var queueItem = _this.buildQueueItem(item);
queueItems.push(queueItem);
});
this.getRemoteMediaClient().queueInsertItems(queueItems, options.beforeItemID || com.google.android.gms.cast.MediaQueueItem.INVALID_ITEM_ID, options.customData);
};
CastButton.prototype.queueRemoveItems = function (itemIDs, customData) {
this.getRemoteMediaClient().queueRemoveItems(itemIDs, customData);
};
CastButton.prototype.queueReorderItems = function (itemIDs, beforeItemID, customData) {
this.getRemoteMediaClient().queueReorderItems(itemIDs, beforeItemID || com.google.android.gms.cast.MediaQueueItem.INVALID_ITEM_ID, customData);
};
CastButton.prototype.queueJumpToItem = function (itemID, playPosition, customData) {
this.getRemoteMediaClient().queueJumpToItem(itemID, playPosition, customData);
};
CastButton.prototype.queueUpdateItems = function (options) {
console.log('queueUpdateItems not implemented');
};
CastButton.prototype.onMediaStatusUpdate = function () {
var mediaStatus = this.getRemoteMediaClient().getMediaStatus();
var info = null;
var status = null;
if (mediaStatus) {
var mediaInfo = mediaStatus.getMediaInfo();
if (mediaInfo) {
info = convertMediaInfo(mediaInfo);
}
var playerState = cast_types_1.PlayerState.UNKNOWN;
var trackIds = mediaStatus.getActiveTrackIds();
var activeTrackIds = [];
if (trackIds) {
for (var i = 0; i < trackIds.length; i++) {
activeTrackIds.push(trackIds[i]);
}
}
switch (mediaStatus.getPlayerState()) {
case MediaStatus.PLAYER_STATE_IDLE:
playerState = cast_types_1.PlayerState.IDLE;
break;
case MediaStatus.PLAYER_STATE_PLAYING:
playerState = cast_types_1.PlayerState.PLAYING;
break;
case MediaStatus.PLAYER_STATE_PAUSED:
playerState = cast_types_1.PlayerState.PAUSED;
break;
case MediaStatus.PLAYER_STATE_BUFFERING:
playerState = cast_types_1.PlayerState.BUFFERING;
break;
}
var queueData = mediaStatus.getQueueData();
status = {
activeTrackIds: activeTrackIds,
playerState: playerState,
idleReason: mediaStatus.getIdleReason(),
isMuted: mediaStatus.isMute(),
playbackRate: mediaStatus.getPlaybackRate(),
streamPosition: mediaStatus.getStreamPosition(),
volume: mediaStatus.getStreamVolume(),
currentItemID: mediaStatus.getCurrentItemId(),
loadingItemID: mediaStatus.getLoadingItemId(),
preloadedItemID: mediaStatus.getPreloadedItemId(),
queueData: {
name: queueData.getName(),
queueID: queueData.getQueueId(),
queueType: queueTypeEnumToString(queueData.getQueueType()),
repeatMode: repeatModeEnumToString(queueData.getRepeatMode()),
startIndex: queueData.getStartIndex(),
startTime: queueData.getStartTime(),
},
queueItemCount: mediaStatus.getQueueItemCount(),
};
}
this.sendEvent(cast_common_1.CastButtonBase.castEvent, {
eventName: cast_types_1.CastEvent.onMediaStatusChanged,
status: status,
info: info,
android: this.nativeView
});
};
return CastButton;
}(cast_common_1.CastButtonBase));
exports.CastButton = CastButton;
//# sourceMappingURL=cast.android.js.map