HTMLAudioElement音频无法在iOS上播放(Ionic App)

时间:2016-07-13 16:25:14

标签: ios html5 ionic-framework xcode8

我正在使用Xcode 8和Ionic。我可以在Android上播放音频而不是iOS。来自Xcode的日志说明了这一点:

2016-07-13 18:19:44.802014 SpotShuffle[830:104683] [] <<<< FIGSANDBOX >>>> Path </private/var/mobile/Containers/Data/Application/EC634407-1752-4EE2-814E-B88353EA36B0/tmp/MediaCache> could not be converted by realpath() (requires all elements of path are present)

2016-07-13 18:19:44.803145 SpotShuffle[830:104683] [] __InternalSandboxRegisterURL_block_invoke signalled err=-12780 (kFigBaseObjectError_ParamErr) (Could not obtain realpath for specified URL) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/EmbeddedCoreMediaFramework/EmbeddedCoreMedia-1847.11.1/Prototypes/Player/ClientServer/FigSandboxSupport.c line 590

你有什么建议吗?

2 个答案:

答案 0 :(得分:0)

我在尝试在iOS 10 beta 2中播放视频时遇到类似错误。

“无法获取指定网址的实际路径”

ObtainAndRegisterSandboxExtensionForPath signalled err=-12780 (kFigBaseObjectError_ParamErr) (Could not obtain realpath for specified URL) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/EmbeddedCoreMediaFramework/EmbeddedCoreMedia-1873/Prototypes/Player/ClientServer/FigSandboxSupport.c line 486

我的猜测是文件中的某个地方是以“//:”而不是“http //:”开头的网址。 Web浏览器将从页面URL中提取正确的URL协议。在Ionic和Cordova中,页面协议是“file://”,这可能会打破realpath库。

答案 1 :(得分:0)

尝试将音频文件转换为base64

mySound = new Audio("data:audio/mp3;base64,//uQBAAAAAA....    ..qq");  
collectSound.play();

可能有效。但是它也可能会打开系统播放器。需要找到一种方法来保持您应用的上下文