gpt4 book ai didi

iOS 13 webaudio 对于 webview 中的 html 音频元素来说完全被破坏了

转载 作者:行者123 更新时间:2023-12-01 16:31:53 28 4
gpt4 key购买 nike

我正在使用 cordova、wkwebview 构建一款手机游戏,但遇到了音频无法在 iOS 13(特别是 iPadOS 13.2.2)上运行的重大问题。我有几个 html 音频元素连接到 AudioContext,当我在上下文恢复后播放一个元素时,没有 js 错误,并且从 js 方面来看一切看起来都很好。但是,它不播放任何声音,并且在 native iOS 端,它会抛出以下错误:

2019-11-15 18:27:09.610800-0500 MyApp[9045:99562] [assertion] Error acquiring assertion: <NSError: 0x2811ddfe0; domain: RBSAssertionErrorDomain; code: 2; reason: "Client is missing required entitlement"> {
userInfo = {
RBSAssertionAttribute = <RBSLegacyAttribute: 0x111048cf0; requestedReason: MediaPlayback; reason: MediaPlayback; flags: PreventTaskSuspend | PreventTaskThrottleDown | WantsForegroundResourcePriority>;
}
}
2019-11-15 18:27:09.610840-0500 MyApp[9045:99562] [ProcessSuspension] 0x108ee7138 - ProcessAssertion() PID 9045 Unable to acquire assertion for process with PID 9045
2019-11-15 18:27:09.610894-0500 MyApp[9045:99269] [ProcessSuspension] 0x108ee7138 - ProcessAssertion::processAssertionWasInvalidated()

我尝试在 xcode 的“后台模式”选项卡中添加“音频、AirPlay 和画中画”和“后台处理”标志,但没有效果。其他需要注意的事项:它在模拟器中播放音频,即使它仍然抛出错误,但无法在实际设备上播放。此外,音频确实可以使用 AudioBuffer 正确播放,只是 Audio 元素受到影响。不幸的是,我无法将 AudioBuffers 用于我的音轨,因为它们仅设计用于短声音,并且加载完整长度的歌曲需要很长时间。

我已将此作为 webkit 错误提交:https://bugs.webkit.org/show_bug.cgi?id=204261

有谁能够在 iOS 13 上使用 html 音频,或者知道任何解决方法吗?

最佳答案

同样的问题,使用 WKWebView 且后台音频在 30 秒后停止。在 X-Code 的“后台模式”选项卡中勾选“音频、AirPlay 和画中画”和“后台处理”标志没有任何效果。在iOS 12中一切正常,我不明白这是新的iOS 13系统或新的苹果公司政策的问题。他们的文档中没有对 IOS 13 和后台音频进行任何指定或更改 ( https://developer.apple.com/documentation/avfoundation/media_assets_playback_and_editing/creating_a_basic_video_player_ios_and_tvos/enabling_background_audio )。我通过苹果开发者支持提出的问题仍然没有得到回答。...如果有人可以回答我们这个问题或帮助我们。预先感谢您。

关于iOS 13 webaudio 对于 webview 中的 html 音频元素来说完全被破坏了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58887304/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com