JSON Playlist - What is wrong? (Projekktor Core)
Thanks sascha. Anyway, since I did the post I've been working on a system for parsing the file and creating a JSON object to be used as playlist target, and I'll post it here when it's finished for public usage.
Here it is:
<!DOCTYPE HTML>
<html>
<head>
<title>Aron Multimedia</title>
<link rel="stylesheet" href="theme/style.css" type="text/css" media="screen" />
<script type="text/javascript" src="libs/jquery.min.js"></script>
<script type="text/javascript" src="libs/projekktor.min.js"></script>
<script type="text/javascript" src="libs/xml2json.js"></script>
</head>
<body>
<video id="player_a" class="projekktor fullscreen pphttp" title="Aron Multimedia" width="640" height="360" preload="auto" autoplay></video>
<script type="text/javascript">
$(document).ready(function() {
player = projekktor('#player_a', {
volume: 1,
enableFullscreen: true,
continuous: true,
disablePause: true,
disallowSkip: true,
playlist: loadJsonPlaylist()
}
});
function loadJsonPlaylist()
{
var xmlDoc;
var jsonPlaylist;
if (window.XMLHttpRequest){
xmlDoc = new window.XMLHttpRequest();
xmlDoc.open("GET", 'playlist.xml', false);
xmlDoc.send("");
jsonPlaylist = xmlToJson(xmlDoc.responseXML);
} else if (ActiveXObject("Microsoft.XMLDOM")){
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.load('playlist.xml');
jsonPlaylist = xmlToJson(xmlDoc);
}
if(window.XMLHttpRequest || ActiveXObject("Microsoft.XMLDOM")){
var str1 = JSON.stringify(jsonPlaylist);
var str2 = str1.replace(/{(.*?)\[{"0":{"src"/,'[{"0":{"src"');
var cut = str2.substring(0,str2.length-2);
var ret = JSON.parse(cut);
return ret;
}
alert("Error while loading the playlist.xml file.");
return null;
}
function xmlToJson(xml){
var attr, child, attrs = xml.attributes, children = xml.childNodes, key = xml.nodeType, obj = {}, i = -1, o=0;
if (key == 1 && attrs.length){
obj[key = o] = {};
while (attr = attrs.item(++i)){
obj[key][attr.nodeName] = attr.nodeValue;
}
i = -1;
} else if (key == 3){
obj = xml.nodeValue;
}
while (child = children.item(++i)){
key = child.nodeName;
if (obj.hasOwnProperty(key)){
if (obj.toString.call(obj[key])!='[object Array]') {
obj[key] = [obj[key]];
}
obj[key].push(xmlToJson(child));
} else{
obj[key] = xmlToJson(child);
}
}
return obj;
}
</script>
</body>
</html>
759 views
Complete thread:
- JSON Playlist - What is wrong? - Stoyicker, 2012-08-06, 22:48
![Open whole thread [*]](templates/default/images/complete_thread.png)
- JSON Playlist - What is wrong? - Stoyicker, 2012-08-07, 09:41
![Show preview […]](templates/default/images/ajax_preview.png)
- JSON Playlist - What is wrong? - sascha, 2012-08-07, 16:28
![Show preview […]](templates/default/images/ajax_preview.png)
- JSON Playlist - What is wrong? - Stoyicker, 2012-08-07, 17:46
- JSON Playlist - What is wrong? - Stoyicker, 2012-08-07, 09:41
