У меня, очевидно, есть еще код, но я просто хочу понять, что я должен делать, так что я не буду вставлять его весь.
<!doctype html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>PlayBackingTracks</title>
</head>
<body>
</body>
</html>
Вы не предоставили много возможностей для работы в своем примере, но я создал фрагмент, который может помочь.
Запустите фрагмент ниже:
//declare elements as vars
var audioUpload = document.getElementById("file");
var audioLink = document.getElementById('audioLink');
var audioSource = document.getElementById("audioSource");
var audioControl = document.getElementById('audio');
//attach event listener to audioUpload input
audioUpload.addEventListener("change", function() {
uploadAudio(this);
});
//function that will upload audio
function uploadAudio(input) {
var reader;
if (input.files && input.files[0]) {
reader = new FileReader();
reader.onload = function(e) {
audioLink.setAttribute('data-value', e.target.result);
audioLink.innerHTML = "Click to play"
}
reader.readAsDataURL(input.files[0]);
}
}
//function that will play audio after clicking link
function play(element) {
audioSource.src = element.getAttribute('data-value');
audioControl.load();
audioControl.play();
};
<p>Upload your audio file:</p>
<input type = "file" id = "file">
<br/><br/>
<div>
<a id = "audioLink" href = "#" onclick = "play(this)" data-value = ""></a>
</div>
<br/><br/>
<audio controls = "controls" id = "audio">
<source id = "audioSource" src = ""></source>
</audio>
вы хотите, чтобы пользователь щелкнул кнопку, чтобы инициализировать окно браузера, чтобы они могли загружать свою собственную музыку, или вы хотите, чтобы ваша программа сама просматривала файлы пользователей?