我有这个基本的音乐播放器,当我点击图像音乐开始时,当我再次点击它时音乐停止,依此类推。 当我在HTML中执行此操作时,一切正常。
<script>
function StartOrStop(audioFile) {
var audie = document.getElementById("myAudio");
if (!audie.src || audie.src !== audioFile) audie.src = audioFile;
console.log(audie.paused);
if (audie.paused == false) {
console.log('pause');
audie.pause();
} else {
console.log('play');
audie.play();
}
}
</script>
<img src="images/play.png" alt="Play Button" width="400" height="400" onclick="StartOrStop('myMP3.mp3')">
<audio id="myAudio"></audio>
但是当我尝试将其连接到我的数据库时,我应该将'myMP3.mp3'
替换为'<?php echo $trackA; ?>'
。当我这样做时,我第一次点击时听到了我的歌曲,但是,当我尝试暂停歌曲时,歌曲从头开始,就像播放器刷新一样。
<img src="images/play.png" alt="Play Button" width="400" height="400" onclick="StartOrStop('folder/subfolder/<?php echo $trackA; ?>')">
我做错了什么?我试图激活音频标签中的controls
只是为了理解发生了什么,控制工作正常但是当我点击图像时,歌曲从一开始就停止了它。
我还尝试在脚本中插入var song
但同样重新插入。
在HTML控制台中一切正常,但在php中我只得到true
和play
。
它能是什么?有任何想法吗?
我找到了这个解决方案,对我来说似乎很有用。 在HTML中我将src添加到我的音频标签中,该标签是从图像中获取src
<img src="images/play.png" alt="Play Button" width="400" height="400" onclick="StartOrStop()">
<audio src="admin/files/<?php echo $trackA; ?>" id="myAudio"></audio>
然后我编辑js
<script>
function StartOrStop() {
var audie = document.getElementById("myAudio");
console.log(audie.paused);
if (audie.paused == false) {
console.log('pause');
audie.pause();
} else {
console.log('play');
audie.play();
}
}
</script>
现在,我不知道它为什么会起作用!