在Meteor-Cordova App中播放声音

使用没有cordova的流星我可以在浏览器中播放声音

new Audio('test.mp3').play()

test.mp3位于公用文件夹中.但是,当我将应用程序作为设备上的cordova应用程序运行时,我无法播放声音.我究竟做错了什么?谢谢.

TL;博士

>安装cordova media plugin meteor add cordova:org.apache.cordova.media@0.2.15
>将音频文件添加到公共目录
>使用/android_asset/www/application/path/to/sound.wav

如果你查看项目中的这个文件夹,

$PROJECT_ROOT / .meteor /本地/科尔多瓦建造/平台/安卓/资产/ WWW /

您将看到您的应用程序为cordova为Android构建它.

使用Cordova Media插件,我试图使用文件路径/android_asset/www/path/to/sound.wav无济于事.

# Install the cordova media plugin with this command
meteor add cordova:org.apache.cordova.media@0.2.15

相反,我看到我的声音文件夹在www目录内但在应用程序目录下.所以,这个文件路径最终为我工作,

/android_asset/www/application/path/to/sound.wav

这是适合我的相关代码.

function getMediaUrl(sound) {

  if (device.platform.toLowerCase() === "android") {

    return cordova.file.applicationDirectory.replace('file://', '') + 'www/application/' + sound.substr(1);

  }
  else {

    return cordova.file.applicationDirectory.replace('file://', '') + sound.substr(1);

  }

}

function playSound(sound) {

  return new Media(

    getMediaUrl(sound),

    function (success) {
      // success
    },
    function (err) {
      // error
    }
  );
}

var test = playSound('/sounds/test.wav');

test.play();

注意:我将我的音频文件包含在公共文件夹中,即

$PROJECT_ROOT /公/声音/ test.wav

在Android上,此文件路径被翻译为

/android_asset/www/application/sounds/test.wav

相关文章
相关标签/搜索