Не могу создать URL.createObjectURL

Помогите новичку. Пишу аудио проигрыватель на сайте. Хочу сделать возможность, чтобы пользователь мог выбрать медиафайл у себя на устройстве и проигрыватель мог его проигрывать. Если делать через обычный тег аудио - все отлично работает вот код

<input id="input1" type="file">
<audio id="audio1" controls>
<source src="">
</audio>
<button onclick="choose();">OK</button>
<script>
var audio1 = document.getElementById("audio1");
var input1 = document.getElementById("input1");  
  function choose(){         
audio1.src = URL.createObjectURL(input1.files[0]);   
  }  
</script>

Но когда пытаюсь перенести в свой стилизованный проигрыватель выдает вот такую ошибку

jquery-3.5.1.min.js:2 Uncaught TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided.
    at HTMLDocument.<anonymous> (script.js:3)
    at e (jquery-3.5.1.min.js:2)

Почитал, что это устаревшая функция. Может ее чем-то нужно заменить. Вот часть кода script.js

$(document).ready(function(){ 
    var input1 = document.getElementById("input1");  
    let songpath = URL.createObjectURL(input1.files[0]);

Ответы (1 шт):

Автор решения: Олег

В работающем варианте Вы тоже не занаете путь к файлу, но дело не в этом. Попробуйте последнюю строку изменить так:

let songpath = URL.createObjectURL(new Blob([input1.files[0]]));

// или так:

let songpath = URL.createObjectURL(new Blob([input1.files[0]], {type: "audio/mpeg"}));

Ещё эту функцию можно заменить функцией WebAudio Api, но будет сложнее и больше кода, так что всегда успеется.

→ Ссылка