nativescript-cast
Version:
NativeScript Chromecast Plugin.
106 lines • 5.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var utils_1 = require("tns-core-modules/utils/utils");
var cast_common_1 = require("./cast.common");
var cast_ios_1 = require("./cast.ios");
var cast_types_1 = require("./cast.types");
var RemoteMediaClientListenerImpl = (function (_super) {
__extends(RemoteMediaClientListenerImpl, _super);
function RemoteMediaClientListenerImpl() {
return _super !== null && _super.apply(this, arguments) || this;
}
RemoteMediaClientListenerImpl.prototype.remoteMediaClientDidStartMediaSessionWithID = function (client, sessionId) {
};
RemoteMediaClientListenerImpl.prototype.remoteMediaClientDidUpdateMediaStatus = function (client, mediaStatus) {
var info = null;
var status = null;
if (mediaStatus) {
status = this.toCastMediaStatus(mediaStatus);
var mediaInfo = mediaStatus.mediaInformation;
if (mediaInfo) {
info = cast_ios_1.convertMediaInfo(mediaInfo);
}
}
this.owner.sendEvent(cast_common_1.CastButtonBase.castEvent, {
eventName: cast_types_1.CastEvent.onMediaStatusChanged,
status: status,
info: info,
ios: this.owner.nativeView
});
};
RemoteMediaClientListenerImpl.prototype.remoteMediaClientDidInsertQueueItemsWithIDsBeforeItemWithID = function (client, queueItemIDs, beforeItemID) {
};
RemoteMediaClientListenerImpl.prototype.remoteMediaClientDidReceiveQueueItemIDs = function (client, queueItemIDs) {
};
RemoteMediaClientListenerImpl.prototype.remoteMediaClientDidReceiveQueueItems = function (client, queueItems) {
};
RemoteMediaClientListenerImpl.prototype.remoteMediaClientDidRemoveQueueItemsWithIDs = function (client, queueItems) {
};
RemoteMediaClientListenerImpl.prototype.remoteMediaClientDidInsertQueueItemsWithIDs = function (queueItems) {
};
RemoteMediaClientListenerImpl.prototype.remoteMediaClientDidUpdateQueue = function (client) {
};
RemoteMediaClientListenerImpl.prototype.remoteMediaClientDidUpdateQueueItemsWithIDs = function (client, queueItems) {
};
RemoteMediaClientListenerImpl.prototype.remoteMediaClientDidUpdateMediaMetadata = function (client, mediaMetaData) {
};
RemoteMediaClientListenerImpl.prototype.remoteMediaClientDidUpdatePreloadStatus = function (client) {
};
RemoteMediaClientListenerImpl.prototype.toCastMediaStatus = function (mediaStatus) {
var playerState = cast_types_1.PlayerState.UNKNOWN;
switch (mediaStatus.playerState) {
case 1:
playerState = cast_types_1.PlayerState.IDLE;
break;
case 2:
playerState = cast_types_1.PlayerState.PLAYING;
break;
case 3:
playerState = cast_types_1.PlayerState.PAUSED;
break;
case 4:
playerState = cast_types_1.PlayerState.BUFFERING;
break;
case 5:
playerState = cast_types_1.PlayerState.LOADING;
break;
default:
playerState = cast_types_1.PlayerState.UNKNOWN;
break;
}
var activeTrackIds = mediaStatus.activeTrackIDs
? utils_1.ios.collections.nsArrayToJSArray(mediaStatus.activeTrackIDs).map(function (trackId) { return +trackId; })
: [];
var queueData = null;
if (mediaStatus.queueData) {
queueData = {
name: mediaStatus.queueData.name,
queueID: mediaStatus.queueData.queueID,
queueType: cast_ios_1.queueTypeEnumToString(mediaStatus.queueData.queueType),
repeatMode: cast_ios_1.repeatModeEnumToString(mediaStatus.queueData.repeatMode),
startIndex: mediaStatus.queueData.startIndex,
startTime: mediaStatus.queueData.startTime,
};
}
return {
activeTrackIds: activeTrackIds,
playerState: playerState,
idleReason: mediaStatus.idleReason,
isMuted: mediaStatus.isMuted,
playbackRate: mediaStatus.playbackRate,
streamPosition: mediaStatus.streamPosition,
volume: mediaStatus.volume,
currentItemID: mediaStatus.currentItemID,
loadingItemID: mediaStatus.loadingItemID,
preloadedItemID: mediaStatus.preloadedItemID,
queueData: queueData,
queueItemCount: mediaStatus.queueItemCount,
queueHasPreviousItem: mediaStatus.queueHasPreviousItem,
queueHasNextItem: mediaStatus.queueHasNextItem,
};
};
RemoteMediaClientListenerImpl.ObjCProtocols = [GCKRemoteMediaClientListener];
return RemoteMediaClientListenerImpl;
}(NSObject));
exports.RemoteMediaClientListenerImpl = RemoteMediaClientListenerImpl;
//# sourceMappingURL=remote-media-client-listener.ios.js.map