web-dev-qa-db-fra.com

Lire un fichier local audio avec html

J'essaie de faire quelque chose comme this .

Mais je ne sais pas pourquoi je ne fais pas fonctionner cette chose. Voici le codepen exemple :

$('input').on('change', function(e) {

  var file = e.currentTarget.files[0];

  var reader = new FileReader();

  reader.onload = function(e) {
    $('audio source').attr('src', e.target.result);
  }   

  reader.readAsDataURL(file);
});

La balise source reçoit le fichier mp3 base64, mais il ne charge pas le fichier dans le navigateur.

8
Tomás Francisco

Vous définissez le src attr directement sur l'élément audio. violon

var $audio = $('#myAudio');
$('input').on('change', function(e) {
  var target = e.currentTarget;
  var file = target.files[0];
  var reader = new FileReader();
  
  console.log($audio[0]);
   if (target.files && file) {
        var reader = new FileReader();
        reader.onload = function (e) {
            $audio.attr('src', e.target.result);
            $audio.play();
        }
        reader.readAsDataURL(file);
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file">
<audio controls id="myAudio" autoplay></audio>
12
oshell
<audio controls>
<source src="yoraudio.ogg" type="audio/ogg">
<source src="youraudio.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>

Pour plus d'aide, visitez

C'est le moyen le plus simple de lire de l'audio

1
Mr. Panda

Dans UWP, vous pouvez lire un fichier directement que vous pouvez obtenir par nom à partir de la bibliothèque musicale, comme indiqué ci-dessous. Obtenez simplement la permission d'accéder à la bibliothèque musicale en vérifiant la bibliothèque dans la balise "Capacités" des propriétés de votre projet.

picksinglefile();
        var l = Windows.Storage.KnownFolders.musicLibrary;
        var f = localStorage.getItem("alarmname").toString();
        l.getFileAsync(f).then(function (file) {
            // storagefile file is available
            var s = window.URL.createObjectURL(file);  // its a storage file, so create URL
            player1.setAttribute("src", s);
            player1.play(); // if autoplay is false or off
        });


function picksinglefile() {
// Create the picker object and set options
var fop = new Windows.Storage.Pickers.FileOpenPicker();
fop.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.musicLibrary;
fop.fileTypeFilter.replaceAll([".mp3", ".wav"]);
fop.pickSingleFileAsync().then(function (file) {
    if (file) {
        localStorage.setItem("alarmname", file.name.toString());
    } else {
        alert("Operation Cancelled");
    }
});
0
pollaris