1

请有人可以帮助我-这让我发疯了!!!

我创建了一个 HTML5 项目,它使用 PreloadJS 和 SoundJS 来播放一些声音。它在 Chrome 中运行得非常好,但是当我将它推送到 Cordova Emulator (Android SDK) 或我的 Android 手机时,它成功构建和部署,但我根本听不到声音,我不知道为什么。Android 监视器显示以下错误,但我不确定它们是否与 SoundJS 有关:

•I/MediaFocusControl(1258): AudioFocus requestAudioFocus() from android.media.AudioManager @ b303c1a8com.android.org.chromium.media.MediaPlayerListener@b30f0238

•E/MediaPlayer(1904): error (1, -2147483648)

我正在尝试在按钮单击事件上触发声音,所以我认为它与安全问题无关。

我正在使用以下代码预加载声音文件:

p.assetsPath = 'assets/';

p.initialize = function () {

   this.EventDispatcher_initialize();

   this.loadManifest = [
      {id:this.MENUSOUNDTRACK, src:this.assetsPath + 'MainTrack.ogg'},
      {id:this.GAMESOUNDTRACK, src:this.assetsPath + 'BackingTrack.ogg'},
 .......
}

p.preloadAssets = function () {
   createjs.Sound.initializeDefaultPlugins();
   createjs.Sound.alternateExtensions = ["mp3"];

   this.queue = new createjs.LoadQueue();
   this.queue.on('progress',this.assetsProgress,this);
   this.queue.on('complete',this.assetsLoaded,this);

   this.queue.installPlugin(createjs.Sound);        
   this.queue.loadManifest(this.loadManifest);
}

所有声音文件都存储在 /www/assets 中,我认为应该由 cordova 自动映射到 /android_asset/www/assets。

任何帮助将非常感激。

4

1 回答 1

0

你可以在这里看到一些关于使用 PhoneGap的讨论,这可能是相关的。

理论上,一切都应该与 Cordova 一起工作,但它没有经过很好的测试。

我建议在尝试播放之前确保所有声音都已完全加载,确保您使用的是来自 github 的最新版本的 soundjs,并测试来自github的一个简单示例以确认它是否是 SoundJS 和 Cordova 问题,或者是否有问题在您的实施中。

希望有帮助。

于 2014-07-04T19:57:28.017 回答