iOS 14 safari canPlayType (‘audio / mpeg; codecs=»mp3″‘) возвращает «»

#mp3 #ios14

#mp3 #ios14

Вопрос:

В моем веб-приложении перед воспроизведением звука я проверяю с помощью canPlayType (), поддерживается ли формат. Начиная с iOS 14 аудиофайлы mp3 не возвращают допустимый ответ.

проверка HTMLMediaElement.canPlayType(‘audio/mpeg; codecs=»mp3″‘) возвращает пустую строку.

Ответ №1:

С помощью следующего кода:

 let audio = [
'audio/mpeg; codecs="mp3"',
'audio/mp4; codecs="mp4a.40.2"',
'audio/ogg; codecs="vorbis"',
'audio/wav; codecs="1"',
'audio/webm; codecs="vorbis"',
'audio/x-flv',
'audio/mpeg;']

let elmAudio = document.createElement('audio');

for (let i = 0; i < audio.length; i  )
{
   let bSupports = elmAudio.canPlayType(audio[i]);
   console.log("canPlay", audio[i], bSupports);
}
 

(см https://jsfiddle.net/0zr9pms8/4 /)
Я проверил, что проверка без части кодеков дает правильное возвращаемое значение в iOS14.

HTMLMediaElement.canPlayType(‘audio /mpeg;’)