Safari 不流式传输嵌入式播放器

问题描述 投票:0回答:1

我使用简单的嵌入式音频播放器来运行自己的在线广播电台。该流适用于 Mac、Windows 和 Android 上的所有浏览器。它不会在 Safari 或 iOS 上的任何浏览器中进行流式传输。这是我正在使用的 HTML 代码:

<audio controls="true" autoplay="false"><source src="http://108.59.11.81:8040/;audio.mp3" type="audio/mp3">Your browser does not support the audio element.</audio>

我正在寻求任何方法来修改代码,以便 Safari 和 iOS 能够进行流式传输。

非常感谢。

我与一位 Apple 高级顾问合作,他建议这可能是编解码器问题,但我尝试的所有解决方案都失败了。他建议我在这里发布问题。

我没有找到与我的问题类似的其他帖子以及有效的解决方案。

这是我尝试过的两种解决方案:

<audio controls>
<source src="http://108.59.11.81:8040/;audio.mp3" type="audio/mp3; codecs=mp3">

<audio controls>
  <source src="http://108.59.11.81:8040/;audio.mp3" type="audio/mpeg" />
</audio>
html ios safari streaming codec
1个回答
0
投票
Use a third-party player, for example Howler.js . 
Here is a sample code
<!DOCTYPE html>
<html>
<head>
  <title>Page Title</title>
</head>
<body>

<button id="play">Play</button>
<button id="pause">Pause</button>
<button id="stop">Stop</button>

<script src="https://cdnjs.cloudflare.com/ajax/libs/howler/2.2.3/howler.min.js"></script>
<script>
  // Create a new Howl object
  var sound = new Howl({
    src: ['audio.mp3'],
    format: ['mp3'], // Specify the format, in this case, mp3
    html5: true // Use HTML5 audio for streaming
  });

  // Event handlers for buttons
  document.getElementById('play').addEventListener('click', function() {
    sound.play();
  });

  document.getElementById('pause').addEventListener('click', function() {
    sound.pause();
  });

  document.getElementById('stop').addEventListener('click', function() {
    sound.stop();
  });
</script>

</body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.