三星 S3(及其他)的 phonegap / cordova 音频问题
phonegap / cordova audio issue with Samsung S3 (and others)
我最近发布了一个带有声音的 Phonegap / Cordova 应用程序。它适用于大多数手机。然而,有人抱怨说,有几部手机没有播放声音。我发现其中一个型号是三星 S3。
我设法创建了一个简化的应用程序,它演示了这个问题:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Hello World</title>
<script type="text/javascript" src="cordova.js"></script>
</head>
<body>
<h1 id="ogg">OGG</h1>
<h1 id="wav">WAV</h1>
<h1 id="mp3">MP3</h1>
<script>
var ogg = document.getElementById("ogg"),
oggSound = new Audio('bark04.ogg'),
wav = document.getElementById("wav"),
wavSound = new Audio('bark04.wav'),
mp3 = document.getElementById("mp3"),
mp3Sound = new Audio('bark04.mp3');
ogg.onclick = function(){
console.log("Start ogg");
oggSound.play();
console.log("Done ogg");
}
wav.onclick = function(){
console.log("Start wav");
wavSound.play();
console.log("Done wav");
}
mp3.onclick = function(){
console.log("Start mp3");
oggSound.play();
console.log("Done mp3");
}
</script>
</body>
</html>
这里有几个注意事项:
- 当我使用 android 浏览器查看页面时,此代码运行良好。只有当我使用 Phonegap 6.4.6 / Cordova 6.5.0 编译它时,才会出现任何问题。
- 此代码适用于多种手机,包括三星 S5
- 使用android"about:inspect",我看到所有console.log输出都出现了,没有错误。
- 这两个 mp3 / ogg 文件都是使用 Audacity 从同一个 wav 创建的。两个都有点短我想不出任何有效的文件格式。
预先感谢您的帮助。
我得到了一个不太令人满意的解决方案。我发现用 crosswalk 插件安装 phonegap 解决了这个问题。这不是一个很好的解决方案,因为它需要 2 个更大的 APK,但就目前而言 - 这是我得到的最好的,所以......我会接受它。
我最近发布了一个带有声音的 Phonegap / Cordova 应用程序。它适用于大多数手机。然而,有人抱怨说,有几部手机没有播放声音。我发现其中一个型号是三星 S3。 我设法创建了一个简化的应用程序,它演示了这个问题:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Hello World</title>
<script type="text/javascript" src="cordova.js"></script>
</head>
<body>
<h1 id="ogg">OGG</h1>
<h1 id="wav">WAV</h1>
<h1 id="mp3">MP3</h1>
<script>
var ogg = document.getElementById("ogg"),
oggSound = new Audio('bark04.ogg'),
wav = document.getElementById("wav"),
wavSound = new Audio('bark04.wav'),
mp3 = document.getElementById("mp3"),
mp3Sound = new Audio('bark04.mp3');
ogg.onclick = function(){
console.log("Start ogg");
oggSound.play();
console.log("Done ogg");
}
wav.onclick = function(){
console.log("Start wav");
wavSound.play();
console.log("Done wav");
}
mp3.onclick = function(){
console.log("Start mp3");
oggSound.play();
console.log("Done mp3");
}
</script>
</body>
</html>
这里有几个注意事项:
- 当我使用 android 浏览器查看页面时,此代码运行良好。只有当我使用 Phonegap 6.4.6 / Cordova 6.5.0 编译它时,才会出现任何问题。
- 此代码适用于多种手机,包括三星 S5
- 使用android"about:inspect",我看到所有console.log输出都出现了,没有错误。
- 这两个 mp3 / ogg 文件都是使用 Audacity 从同一个 wav 创建的。两个都有点短我想不出任何有效的文件格式。 预先感谢您的帮助。
我得到了一个不太令人满意的解决方案。我发现用 crosswalk 插件安装 phonegap 解决了这个问题。这不是一个很好的解决方案,因为它需要 2 个更大的 APK,但就目前而言 - 这是我得到的最好的,所以......我会接受它。