带动态源的HTML5音频元素

aus*_*lis 8 html php audio html5

我有一个基本的音频播放器:

<audio controls="controls" autoplay="true" loop="loop">
<source src="song.php" type="audio/mpeg" />
</audio>
Run Code Online (Sandbox Code Playgroud)

而不是直接指向MP3文件的源,我指向一个PHP文件,然后指向MP3文件,这是有效的.但是,当当前曲目结束时,PHP文件指向一个新的MP3文件.所以,我遇到的问题是当播放器进入循环时,使用新的MP3文件,它完全停止工作.有没有办法解决?有没有办法用播放列表或任何其他播放器执行此操作?

Nie*_*sol 11

从您的重复问题复制:


对于初学者,每次单击元素时都会附加一个新的事件处理程序.如果有人经常暂停音乐,他们就会遇到问题.

Intead,试试这个:

<audio id="audio" autoplay controls src="song.php" type="audio/mpeg"></audio>
<script type="text/javascript">
    document.getElementById('audio').addEventListener("ended",function() {
        this.src = "song.php?nocache="+new Date().getTime();
        this.play();
    });
</script>
Run Code Online (Sandbox Code Playgroud)

我假设这song.php是一个返回音频数据的PHP文件.该nocache查询参数将确保该文件实际上是所谓的每一次.