我正在尝试将此插件与我的PhoneGap Build应用程序一起使用: https://www.npmjs.com/package/cordova-plugin-nativeaudio
我在 config.xml
中调用它<gap:plugin name="cordova-plugin-nativeaudio" source="npm" />
然后在我的 onDeviceReady 中加载声音:
if( window.plugins && window.plugins.NativeAudio ) {
window.plugins.NativeAudio.preloadSimple( 'slide', 'sounds/slide.mp3', function(msg){
}, function(msg){
alert( 'error: ' + msg );
});
}
else {
alert("load failed");
}
然后在我的函数中,每次移动a时都会发生
window.plugins.NativeAudio.play( 'slide' );
然后我打包并构建应用程序并通过TestFlight在我的手机上安装
声音存储在我的www/sounds/
文件夹中,如果我更改了加载代码中的路径/文件名,我的手机就会发出警告&#34;加载失败&#34;,但是如果路径正确则保持沉默暗示成功。然而,在被叫时它没有发出声音。
我试图通过媒体插件播放相同的声音并且它有效,所以我知道.mp3本身没有任何问题,但是媒体有多次调用它来处理冻结应用程序。
编辑:如果此插件被破坏或过时,将接受合适的替代方案。
答案 0 :(得分:1)
我已经测试了插件,它运行得很好。
您可以尝试他们的sample project
首先,我尝试使用您的代码和我从互联网上下载的声音,并在尝试播放时遇到此错误:
WARNING: [0x1f197000] 998: Failure to setup sound, err = -50
(预加载成功回调,调用播放时显示在Xcode调试区域)
问题在于使用preloadSimple
播放声音很复杂,使用preloadComplex
为我解决了问题,所以也许你的声音过于复杂而无法使用{{1}播放}
注意:使用preloadSimple
时,你必须在成功回调之前传递三个参数,音量,声音,延迟,应该是这样的:
preloadComplex
答案 1 :(得分:0)
问题可能与音频文件的大小/类型有关,因此请使用 preloadSmplex preloadSimple
FROM ... # Your base image here
ENTRYPOINT ["dotnet", "YourWebAppName.dll"] # Application to run
ARG source=. # An argument from outside, here store the path from real filesystem
WORKDIR /app
ENV ASPNETCORE_URLS http://+:82 # Define the port it should listen
EXPOSE 82
COPY $source . # copy the files from defined folder, here bin\Debug\netcoreapp1.0\publish to inside the docker container