我正在构建一个需要同时播放多个音频循环的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上对此进行测试。
如果有人知道如何解决这个问题,我们将不胜感激!
答案 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');
})
});