如何在使用 PhoneGap/Cordova 构建的 Android 应用程序中单击按钮时播放音频?

2024-03-05

我正在构建一个类似音板的基本应用程序,其中有一些播放声音的按钮。我正在使用 PhoneGap/Cordova,并使用 PhoneGap Build 服务将代码编译为 APK。起初,我使用简单的 HTML5<audio>这些标签在桌面浏览器和 Android 浏览器中运行良好,但是当打包到 PhoneGap 应用程序中时,没有播放任何声音。

我环顾四周,看到一些提到必须在 PhoneGap 中使用 Media API 而不是标准 HTML5 音频,因此我通过以下代码更改切换到这一点。

我有以下功能:

function doPlay(soundId) {
  var my_media = new Media("/android_asset/www/"+soundId+".mp3",
    function() {
      navigator.notification.alert('Success!', alertDismissed);
    },
    function(err) {
    navigator.notification.alert('Error!', alertDismissed);
  });
  my_media.play();
}

每个按钮都有一个onclick处理程序与此类似...

onclick="doPlay('sound1');"

这些文件与以下文件位于同一目录中index.html,称为sound1.mp3, sound2.mp3等等。和功能alertDismissed()也已定义,但它是空的。

然而,它仍然不起作用。点击时没有声音。没有'Success' or 'Error'消息也可以。是的,我有notification and media请求的权限。

我在这里很困惑。有任何想法吗?

Update:正如 @simon-macdonald 所建议的,我放置了本地文件的完整路径(“/android_asset/www/”),但这仍然没有让应用程序正常工作。没有声音,没有错误/成功警报。 :-(


您的文件路径不正确。你想做:

var my_media = new Media("/android_asset/www/" + soundId+".mp3",
function() {
  navigator.notification.alert('Success!', alertDismissed);
},
function(err) {
navigator.notification.alert('Error!', alertDismissed);
});
my_media.play();

看看我的迷你教程。

http://simonmacdonald.blogspot.ca/2011/05/using-media-class-in-phonegap.html http://simonmacdonald.blogspot.ca/2011/05/using-media-class-in-phonegap.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在使用 PhoneGap/Cordova 构建的 Android 应用程序中单击按钮时播放音频? 的相关文章

随机推荐