在Meteor 1.3中播放cordova上的本地音频

时间:2016-03-29 17:59:24

标签: cordova meteor

所以我有一个音频文件/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上这种行为的想法?

2 个答案:

答案 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()