【发布时间】:2016-03-29 17:59:24
【问题描述】:
所以我有一个音频文件/public/sound.mp3。我想用cordova media plugin 玩它
new Media('/sound.mp3').play()
但这不起作用。我应该传递的本地 url 是什么?
更新
我发现流星 1.3 通过
在科尔多瓦本地提供资产http://localhost:<port>/path/to/asset
其中<port> 是从 appId 随机生成的介于 12000 和 13000 之间的数字。您可以通过在 cordova 上调用 document.location.origin 来了解它是什么。然后你可以连接资产路径:
var path = document.location.origin + '/sound.mp3'
// evaluates to e.g. http://localhost:12272/sound.mp3
现在我们应该可以将它传递给 Media,对吧?
new Media(path).play() // works on Android, but not on iOS
我知道路径实际上在 Android 和 iOS 上都是正确的,因为我通过编写 document.location.href = path 来测试路径,它将浏览器导航到实际的声音文件。关于什么可能导致 iOS 上出现这种行为的任何想法?
【问题讨论】: