var currentMediaList = $("#audioMediaList");
var currentMediaListItems = $("#audioMediaListItems");
var currentPlayerControls;
+var audioPlayerControls;
+var videoPlayerControls;
var audioMediaListLoaded = false;
var videoMediaListLoaded = false;
var imageMediaListLoaded = false;
var mediaListItemH;
var imageControls;
var loadAndPlay = false;
+var loadPrevAudio = false;
+var loadPrevVideo = false;
+var playOnConnect = false;
var currentFileLoaded = false;
var mediaNameCanvas;
var mediaNameCTX;
var nightMode = false;
var waitingToResumeVideo = false; //Media has been paused by exterior forces. If set to true, resume previous media when given the signal.
var stopServerSearch;
+var clearAudioTimeInterval, clearVideoTimeInterval;
var mainMenuTitleTemplateLandscape = {"font" : "oblique bolder 30pt arial", "lineWidth" : 9.5, "fillStyle" : "black", "strokeStyle" : "white", "textAlign" : "left",
"largeShadow" : 8, "shadowOffsetX" : 0, "shadowOffsetY" : 0, "shadowBlur" : 45, "shadowColor" : "rgba(255, 187, 0, 0.4)"};
{
audioContent = audioContent.concat(content);
- $("#audioSrc").attr("src", audioContent[0].contentURI);
- audioPlayer.load();
+ if (localStorage.prevAudioTrack)
+ {
+ for (var i = 0; i < audioContent.length; i++)
+ {
+
+ if (audioContent[i].contentURI === localStorage.prevAudioTrack)
+ {
+
+ audioIndex = i;
+ loadPrevAudio = true;
+ $("#audioSrc").attr("src", audioContent[audioIndex].contentURI);
+ audioPlayer.load();
+ break;
+ }
+ }
+ }
+ else
+ {
+ $("#audioSrc").attr("src", audioContent[0].contentURI);
+ localStorage.prevAudioTrack = audioContent[0].contentURI;
+ audioPlayer.load();
+ }
var imgSources = [];
for (var i = 0; i < audioContent.length; i++)
if (!emptyContent)
{
videoContent = videoContent.concat(content);
- $("#videoSrc").attr("src", videoContent[0].contentURI);
+
+ if (localStorage.prevVideo)
+ {
+ for (var i = 0; i < videoContent.length; i++)
+ {
+ if (videoContent[i].contentURI === localStorage.prevVideo)
+ {
+ videoIndex = i;
+ loadPrevVideo = true;
+ $("#videoSrc").attr("src", videoContent[videoIndex].contentURI);
+ videoPlayer.load();
+
+ }
+ }
+ }
+ else
+ {
+ $("#videoSrc").attr("src", videoContent[0].contentURI);
+ localStorage.prevVideo = videoContent[0].contentURI;
+ videoPlayer.load();
+ }
+
}
contentType = "IMAGE";
break;
default:
console.log("Undefined content search type");
- nextContentType = undefined;
+ nextContentType = undefined;
break;
}
if (!videoMediaListLoaded)
fillMediaList(currentContent);
- $("#videoPlayer").load();
-
showMediaMenu();
break;
{
console.log("MediaPlayer in showMainMenu");
currentMenu = "main";
+
+ if (!currentPlayerControls.paused && currentPlayerType === "AUDIO")
+ clearInterval(clearAudioTimeInterval);
+ else if (!currentPlayerControls.paused && currentPlayerType === "VIDEO")
+ clearInterval(clearVideoTimeInterval);
+
currentPlayerControls.pause();
//If the media list is showing, hide it. Remove the mediaListAudioList class if it exists so that it will resize properly
if (loadAndPlay)
{
currentPlayerControls.play();
+ clearAudioTimeInterval = setInterval(
+ function(){
+ if (localStorage.prevAudioTime === audioPlayerControls.currentTime)
+ {
+ stallCounter++;
+
+ if (stallCounter > 10)
+ {
+ //Remote media has stalled, attempt to reconnect
+ playOnConnect = true;
+ tizen.mediaserver.scanNetwork(reconnectServer);
+ }
+ }
+
+ localStorage.prevAudioTime = audioPlayerControls.currentTime;
+ },500);
+
+ if (audioContent[audioIndex].remoteFile)
+ stallCounter = 0;
+
loadAndPlay = false;
}
+ else if (loadPrevAudio)
+ {
+ audioPlayerControls.currentTime = localStorage.prevAudioTime;
+ loadPrevAudio = false;
+ }
+}
+
+function videoLoaded()
+{
+ if (loadPrevVideo)
+ {
+ videoPlayerControls.currentTime = localStorage.prevVideoTime;
+ loadPrevVideo = false;
+ }
}
function playButtonClick()
{
if (currentPlayerControls.paused)
{
+
+ if (loadAndPlay)
+ currentPlayerControls.currentTime = localStorage.prevAudioTime;
+
+ loadAndPlay = false;
currentPlayerControls.play();
+
+ //Start tracking the current time of the media. This is used to play from previous position on restart.
+ if (currentPlayerType === "AUDIO")
+ clearAudioTimeInterval = setInterval(function(){localStorage.prevAudioTime = currentPlayerControls.currentTime},500);
+ else if (currentPlayerType === "VIDEO")
+ clearVideoTimeInterval = setInterval(function(){localStorage.prevVideoTime = currentPlayerControls.currentTime},500);
+
}
else
{
currentPlayerControls.pause();
+
+ if (currentPlayerType === "AUDIO")
+ clearInterval(clearAudioTimeInterval);
+ else if (currentPlayerType === "VIDEO")
+ clearInterval(clearVideoTimeInterval);
}
}
else
$("#audioSrc").attr("src", audioContent[audioIndex].contentURI);
updateMediaName(audioContent[audioIndex].artists[0], audioContent[audioIndex].title, audioContent[audioIndex].coverArt);
+
+ localStorage.prevAudioTrack = audioContent[audioIndex].contentURI;
audioPlayer.load();
}
break;
audioPlayer.pause();
$("#audioSrc").attr("src", audioContent[audioIndex].contentURI);
+
+ localStorage.prevAudioTrack = audioContent[audioIndex].contentURI;
updateMediaName(audioContent[audioIndex].artists[0], audioContent[audioIndex].title, audioContent[audioIndex].coverArt);
audioPlayer.load();
}
imgIcon.src = "images/imageIcon.png";
imageControls = new ImageControls();
+ audioPlayerControls = document.getElementById("audioPlayer");
+ videoPlayerControls = document.getElementById("videoPlayer");
+
mediaNameCanvas = document.getElementById("mediaName");
mediaNameCTX = mediaNameCanvas.getContext("2d");