所以我有一个音频文件/public/sound.mp3
。我想使用cordova media plugin
new Media('/sound.mp3').play()
但这不起作用。我应该通过的本地网址是什么?
更新
我发现流星1.3通过
在Cordova本地提供资产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上这种行为的想法?
答案 0 :(得分:0)
我不知道cordova媒体插件,但是当你把文件放在“public”文件夹中时,不需要指定。
我认为这段代码是正确的:
new Media('sound.mp3')。play()
答案 1 :(得分:0)
使用buzz.js,通过npm安装或使用brentjanderson:buzz
软件包。现在,将您的声音sound.mp3
放入流星的/public
文件夹中,然后像这样播放音频:
new buzz.sound('/sound.mp3').play()