Фактически на моем веб-сайте www.musicking.in, когда пользователь выбирает песни, откроется окно с одним игроком, и он будет получать доступ к соответствующим выбранным песням xml playlist, и игрок будет воспроизводить эти песни.
фактически его рабочий штраф. но иногда проблема заключается в том, что так много пользователей присоединяются к проигрывателю, который не воспроизводит выбранные песни, либо его ранее воспроизводимые песни, либо ничего.
пожалуйста помогите.
{код моего игрока}
<?php if(isset($_POST["song"])&& $_POST['song'] != "") { $song = $_POST["song"]; } else {$song=array();} $dom = new DOMDocument("1.0"); // display document in browser as plain text // for readability purposes // create root element $root = $dom->createElement("playlist"); $dom->appendChild($root); $root->setAttribute('version', "1"); $root->setAttribute('xmlns', "http://xspf.org/ns/0/"); $rootnext = $dom->createElement("trackList"); $root->appendChild($rootnext); foreach ($song as $counter) { $tokens = ","; $tokenized = strtok($counter, $tokens); // create child element $song = $dom->createElement("track"); $rootnext->appendChild($song); $song1 = $dom->createElement("creator"); $song->appendChild($song1); $text = $dom->createTextNode("www.musicking.in"); $song1->appendChild($text); $song1 = $dom->createElement("title"); $song->appendChild($song1); // create text node $text = $dom->createTextNode($tokenized); $song1->appendChild($text); $tokenized = strtok($tokens); $song1 = $dom->createElement("location"); $song->appendChild($song1); $text = $dom->createTextNode($tokenized); $song1->appendChild($text); } // save $dom->save("playlist.xml"); ?> <object data="musicplayer.swf?autostart=true&playlist=playlist.xml" type="application/x-shockwave-flash" width="400" height="300"><param name="movie" value="musicplayer.swf?autostart=true&playlist=playlist.xml"/></object> {sample playlist.xml} <?xml version="1.0"?> <playlist xmlns="http://xspf.org/ns/0/" version="1"><trackList><track><creator>www.musicking.in</creator><title>Ey Yavo </title><location>/telugusongs/prayanam/Ey Yavo.mp3</location></track><track><creator>www.musicking.in</creator><title>Meghamaa </title><location>/telugusongs/prayanam/Meghamaa.mp3</location></track><track><creator>www.musicking.in</creator><title>Nuvvu Entha </title><location>/telugusongs/prayanam/Nuvvu Entha.mp3</location></track></trackList></playlist>
похоже, что вы всегда используете файл playlist.xml, и поэтому, если есть 10k посетителей, этот единственный файл перезаписывается 10k раз. Обычно нет проблем, но интернет работает медленно, поэтому, если один клик на сайте ur, генерируется xml и swf загружается, а затем использует xml. Есть задержки в нем, и это может вызвать проблемы, если один клик и до того, как его игрок загрузил другой, создал xml. Я предлагаю вам использовать переменное имя файла (может быть случайным) U может потребоваться очистить старые файлы раз за разом
Вот быстрое исправление, но вам действительно нужно подумать об этом.
Оставьте только это в этом файле:
if(isset($_POST["song"])&& $_POST['song'] != "") { $song = $_POST["song"]; } else {$song=array();} <object data="musicplayer.swf?autostart=true&playlist=playlist.php?song=<?=$song; ?>" type="application/x-shockwave-flash" width="400" height="300"><param name="movie" value="musicplayer.swf?autostart=true&playlist=playlist.php?song=<?=$song; ?>"/></object>
Затем создайте файл playlist.php со всем материалом поколения:
if(isset($_GET["song"])&& $_GET['song'] != "") { $song = $_GET["song"]; } else {$song=array();} ....old generation code.... // Instead of saving it now, you just echo it. echo $dom->saveXML();
Это просто очень быстро исправление, я не могу гарантировать, что он будет работать, поскольку это зависит от того, как ваш музыкальный плеер читает файлы. Но это так, как вы хотите. Вы хотите создать файл списка воспроизведения на основе параметра песни и повторить его в браузере.