javascript-如何控制HTML Audio元素的最小缓冲区大小?

问题描述

我在Angular中使用HTML Audio元素来播放播客:

{
   "stocks":{
      "0":{
         "name":"Torn City Stock Exchange","acronym":"TCSE","director":"None","current_price":10018.747,"market_cap":0,"total_shares":0,"available_shares":0,"forecast":"Average","demand":"High"
      },"1":{
         "name":"Torn City and Shanghai Banking Corporation","acronym":"TSBC","director":"Mr. Gareth Davies","current_price":529.863,"market_cap":4300246833486,"total_shares":8115771121,"demand":"High","benefit":{
            "requirement":4000000,"description":"Entitled to receive occasional dividends"
         }
      },"2":{
         "name":"Torn City Investment Banking","acronym":"TCB","director":"Mr. Paul Davies","current_price":502.819,"market_cap":5771083717274,"total_shares":11477457529,"available_shares":1539811799,"demand":"Average","benefit":{
            "requirement":1500000,"description":"Entitled to receive improved interest rates"
         }
      }
}

我发现各种浏览器需要在实际开始播放之前预加载各种音频数据。

这就是我的想法。我设置了一个简单的计时器来检测缓冲区中的数据量:

var audio = new Audio();
audio.src = 'http://<some_mp3_file>';
audio.play();
  • 在装有iPadOS 13的iPad上,它会预加载60秒并开始播放。
  • 在装有iOS 10.3的iPhone上,它会在播放开始前预加载15分钟(!)的音频数据。

对于iPhone,这意味着在LTE连接上,大约需要2分钟才能开始播放:(这使我的用户感到沮丧:(

(在本实验中,iPad通过iPhone的个人热点连接到Internet,以确保它们共享完全相同的网络质量。)

是否可以缩短(控制)缓冲的数据量,以便更快地在具有旧版iOS的iPhone上开始播放?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)