使用ngCordova Native Audio插件在Ionic中同时播放音频

时间:2017-04-02 20:15:14

标签: android cordova audio ionic-framework

我正在构建一个需要同时播放多个音频循环的Ionic应用。

在我的项目中,我实现了cordova原生音频插件(http://ngcordova.com/docs/plugins/nativeAudio/),播放一个声音时效果很好。然而,当我尝试同时在循环中播放2个声音时,它只播放第二个声音。

1>------ Rebuild All started: Project: Win32Project34, Configuration: Debug Win32 ------
1>C:\Program Files\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppClean.targets(76,5): warning : Access to the path 'c:\users\recht\documents\visual studio 2017\projects\win32project34\debug\win32project34.exe' is denied.
1>einde5.cpp
1>c:\users\recht\desktop\einde5.cpp(37): warning C4302: 'type cast': truncation from 'LPWSTR' to 'WORD'
1>c:\users\recht\desktop\einde5.cpp(42): warning C4302: 'type cast': truncation from 'LPWSTR' to 'WORD'
1>LINK : fatal error LNK1104: cannot open file 'c:\users\recht\documents\visual studio 2017\Projects\Win32Project34\Debug\Win32Project34.exe'
1>Done building project "Win32Project34.vcxproj" -- FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

根据插件文档,它应该能够处理并发。文档中的示例是一次播放2首曲目的示例。我做了同样的事情,但它没有工作。我正在Android上对此进行测试。

如果有人知道如何解决这个问题,我们将不胜感激!

1 个答案:

答案 0 :(得分:0)

尝试使用window.plugins.NativeAudio.loop打包$timeout来电。我觉得preloadComplex有一些延迟来实例化。

$ionicPlatform.ready(function() {
  window.plugins.NativeAudio.preloadComplex('soundA', 'media/sounds/soundA.mp3', 1, 1, 0);
  window.plugins.NativeAudio.preloadComplex('soundB', 'media/sounds/soundB.mp3', 1, 1, 0);

  $timeout(function(){
    window.plugins.NativeAudio.loop('soundA');
    window.plugins.NativeAudio.loop('soundB');
  })
});