HTML5 で曲をアップロードして再生しようとしています。JavaScript を使用してファイルをサーバーにアップロードし、jPlayer を使用して曲を再生していますが、このプラグインで問題が発生しています。
これは私のコードです:
$(document).ready(function() {
$(this)
.bind("dragenter", function(event) {
return false;
})
.bind("dragover", function(event) {
return false;
})
.bind("drop", function(event) {
var file = event.originalEvent.dataTransfer.files[0];
event.preventDefault();
$("#state").html("Loading...");
$.ajax({
url: 'upload.php',
async: true,
type: 'POST',
contentType: 'multipart/form-data',
processData: false,
data: file,
success: function(data) {
$("#state").html("Ready!");
$("#player").jPlayer( {
ready: function() {
$(this).jPlayer("setMedia", {
oga: file.name
}).jPlayer("play");
},
supplied: "oga"
});
},
beforeSend: function(xhr) {
xhr.setRequestHeader("X-File-Name", file.name);
xhr.setRequestHeader("Cache-Control", "no-cache");
}
});
});
});
ファイルはサーバーにアップロードされますが、jPlayer で再生されず、理由がわかりません...
@vigrond: はい、できます! ;)
<html id = "homepage">
<head>
<title>Echo</title>
<script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script type = "text/javascript" src = "jquery.jplayer.min.js"></script>
<script type = "text/javascript" src = "upload.js"></script>
</head>
<body bgcolor = "black">
<div style = "margin: 0 auto; text-align: center">
<h1 style = "margin-top: 100px; color: white">Drag and drop a song...</h1>
<h2 id = "state" style = "color: white"></h2>
</div>
<div id = "player"></div>
</body>
</html>