我正在使用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
你有什么建议吗?
答案 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();
可能有效。但是它也可能会打开系统播放器。需要找到一种方法来保持您应用的上下文