gpt4 book ai didi

android - 在 Android 的 Phonegap 应用上播放声音

转载 作者:IT王子 更新时间:2023-10-28 23:28:34 27 4
gpt4 key购买 nike

我尝试播放一个 mp3 文件。如果我在本地网络服务器上更改文件的路径,则此方法有效,但如果我在 Android 设备上运行,则不会播放声音并且不会显示错误。

我很确定找不到 mp3 文件,但我仍然不知道如何修复它。

这是Html

  <body>

<audio id="successSound" src="/android_asset/www/sound/successSound.mp3" type="audio/mpeg" ></audio>
<audio id="errorSound" src="/android_asset/www/sound/errorSound.mp3" type="audio/mpeg" ></audio>
<!-- some more UI -->
</body>

这是Javascript

document.getElementById('errorSound').play();

文件结构

phonyapp
`-- www
`-- index.html
|-- sound
| |-- errorSound.mp3
| `-- successSound.mp3
|-- res
`-- spec

编辑 1

我试过了

<audio id="successSound" src="sound/successSound.mp3" type="audio/mpeg" ></audio>

这在我的本地网络服务器上的 chrome 中有效,但在 Android 上无效。

我试过了

<audio id="successSound" src="http://html5multimedia.com/media/sayHello.mp3" type="audio/mpeg" ></audio>

这行得通,但我需要播放本地文件

最佳答案

HTML5 API 提供的播放方法对于播放网络上可用的媒体文件很有用。 Phonegap 提供媒体插件来播放本地媒体文件。我检查了您的代码并通过进行以下更改成功播放了声音。请在最后检查。

1.将以下行添加到config.xml

<gap:plugin name="org.apache.cordova.media" />

2.替换index.html中的行

<button onclick="document.getElementById('successSound').play()">Play successSound local</button>
<button onclick="document.getElementById('errorSound').play()">Play errorSound local</button>

这些行

<button onclick="playAudio('successSound')">Play successSound local</button>
<button onclick="playAudio('errorSound')">Play errorSoundlocal</button>

3.在js/index.js中添加如下函数

function playAudio(id) {
var audioElement = document.getElementById(id);
var url = audioElement.getAttribute('src');
var my_media = new Media(url,
// success callback
function () { console.log("playAudio():Audio Success"); },
// error callback
function (err) { console.log("playAudio():Audio Error: " + err); }
);
// Play audio
my_media.play();
}

关于android - 在 Android 的 Phonegap 应用上播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22515699/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com