1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

refactor of MediaPlayer.js

This commit is contained in:
Luke Pulverenti 2013-04-09 00:16:32 -04:00
parent 31bd531453
commit 6d7d473fcf

View file

@ -1,13 +1,16 @@
var MediaPlayer = {
var MediaPlayer = (function (document) {
testableAudioElement: document.createElement('audio'),
testableVideoElement: document.createElement('video'),
var testableAudioElement = document.createElement('audio');
var testableVideoElement = document.createElement('video');
var currentMediaElement;
return {
canPlay: function (item) {
if (item.MediaType === "Video") {
var media = MediaPlayer.testableVideoElement;
var media = testableVideoElement;
if (media.canPlayType) {
@ -19,7 +22,7 @@
if (item.MediaType === "Audio") {
var media = MediaPlayer.testableAudioElement;
var media = testableAudioElement;
if (media.canPlayType) {
@ -56,7 +59,7 @@
return;
}
MediaPlayer.mediaElement = mediaElement;
currentMediaElement = mediaElement;
var nowPlayingBar = $('#nowPlayingBar').show();
@ -170,7 +173,7 @@
playVideo: function (items, startPosition) {
//stop/kill videoJS
if (MediaPlayer.mediaElement) MediaPlayer.stop();
if (currentMediaElement) MediaPlayer.stop();
var item = items[0];
@ -180,7 +183,7 @@
var volume = localStorage.getItem("volume") || 0.5;
var user = Dashboard.getCurrentUser();
var defaults = {languageIndex: null, subtitleIndex: null};
var defaults = { languageIndex: null, subtitleIndex: null };
var user_config = user.Configuration || {};
if (item.MediaStreams && item.MediaStreams.length) {
@ -191,16 +194,16 @@
if (stream.Language == user_config.SubtitleLanguagePreference && stream.IsForced == true) {
defaults.subtitleIndex = i;
}
}else if (user_config.SubtitleLanguagePreference && !defaults.subtitleIndex) {
} else if (user_config.SubtitleLanguagePreference && !defaults.subtitleIndex) {
if (stream.Language == user_config.SubtitleLanguagePreference) {
defaults.subtitleIndex = i;
}
}else if (user_config.UseForcedSubtitlesOnly == true && !defaults.subtitleIndex) {
} else if (user_config.UseForcedSubtitlesOnly == true && !defaults.subtitleIndex) {
if (stream.IsForced == true) {
defaults.subtitleIndex = i;
}
}
}else if (stream.Type == "Audio") {
} else if (stream.Type == "Audio") {
//get default language stream
if (user_config.AudioLanguagePreference && !defaults.languageIndex) {
if (stream.Language == user_config.AudioLanguagePreference) {
@ -294,7 +297,7 @@
stop: function () {
var elem = MediaPlayer.mediaElement;
var elem = currentMediaElement;
//check if it's a video using VideoJS
if ($(elem).hasClass("vjs-tech")) {
@ -335,11 +338,11 @@
$('#nowPlayingBar').hide();
MediaPlayer.mediaElement = null;
currentMediaElement = null;
},
isPlaying: function () {
return MediaPlayer.mediaElement;
return currentMediaElement;
},
updateProgress: function () {
@ -357,5 +360,6 @@
ApiClient.reportPlaybackProgress(Dashboard.getCurrentUserId(), item_id, positionTicks);
}, 30000);
}
};
};
})(document);