|
发表于 2024-3-20 14:47:35
|
显示全部楼层
非常抱歉误解了您的问题。如果您想在HTML5音乐播放器中实现单句字幕的重复功能,可以考虑使用JavaScript来控制字幕的显示和重复。
首先,在HTML页面中添加一个音乐播放器元素和一个用于显示字幕的容器元素,如下所示:
- <div id="subtitleContainer"></div>
- <audio id="myAudio" src="music.mp3" controls></audio>
复制代码
然后,在同一目录下创建一个名为`script.js`的JavaScript文件,并将以下代码添加到文件中:
- const audio = document.getElementById('myAudio');
- const subtitleContainer = document.getElementById('subtitleContainer');
- // 在这个数组中添加您的字幕
- const subtitles = [
- { start: 0, end: 5, text: '第一句字幕' },
- { start: 5, end: 10, text: '第二句字幕' },
- // 添加更多的字幕...
- ];
- audio.addEventListener('timeupdate', function () {
- const currentTime = audio.currentTime;
- const currentSubtitle = findCurrentSubtitle(currentTime);
-
- if (currentSubtitle) {
- subtitleContainer.innerText = currentSubtitle.text;
- } else {
- subtitleContainer.innerText = '';
- }
- });
- function findCurrentSubtitle(time) {
- for (let i = 0; i < subtitles.length; i++) {
- const subtitle = subtitles[i];
- if (time >= subtitle.start && time < subtitle.end) {
- return subtitle;
- }
- }
- return null;
- }
复制代码
上述代码中,我们首先获取音乐播放器元素以及用于显示字幕的容器元素。然后,我们创建一个包含字幕信息的数组`subtitles`,其中每个元素都包含了字幕的开始时间、结束时间和文本内容。
接下来,我们使用`audio.addEventListener('timeupdate', ...)`来监听音频播放器的时间更新事件。在事件处理函数中,我们获取当前音频的播放时间,并通过调用`findCurrentSubtitle()`函数来找到当前时间对应的字幕。
`findCurrentSubtitle()`函数遍历字幕数组,找到与当前时间匹配的字幕,并返回该字幕对象。如果没有找到匹配的字幕,函数将返回`null`。
最后,我们将当前时间对应的字幕文本内容显示在字幕容器元素中。
记得把`music.mp3`替换为您自己的音乐文件路径,并在`subtitles`数组中添加自己的字幕内容。运行HTML页面时,字幕将根据音频的播放时间进行动态更新,并在相应时间段显示相应的字幕内容。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|