移动iOS设备(移动Chrome和Safari)上的mp3音频缓存问题

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

无法在移动ioS(Safari和Chrome)上自动播放以前缓存的mp3音频

我正在Angular 8中开发一个应用程序,在该应用程序的一部分中,我试图将多个传入的音频mp3缓存在一组对象中,然后根据用户的动作自动播放或播放。不幸的是,它在移动iOS设备上无处不在(在台式机和Android上)工作。缓存的音频有时根本不播放

基本上是从API接收到的几个对象的每个数组,我为该数组中的每个循环mp3的循环运行a。

items.forEach(item => {
       const audio = new Audio();
       audio.src = urlString;
}

但是,如果我每次想在移动iOS设备上播放声音时,都禁用高速缓存并按API,则一切都会正常运行。

任何想法如何解决?

启用移动iOS音频缓存

javascript ios webkit
1个回答
0
投票

[这可能是由于iOS(https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/)的最新更新

我有一个类似的问题,即每次单击我都会收到少量音频文件,并按需缓存它们-尽管从技术上讲,这似乎是由用户交互产生的(每次按下按钮都会产生一个音频文件,新的要缓存的文件数组),大部分时间未自动播放。

我针对iOS的解决方案是在按下的第一个按钮(例如启动/登录按钮)上执行一个功能,该功能缓存了整个应用程序中可能使用的每个音频文件。

我的自动播放功能在执行此操作后仍然可以正常运行,尽管这可以解决一些问题。

© www.soinside.com 2019 - 2024. All rights reserved.