gpt4 book ai didi

html - 将 HTML 文本同步并突出显示到音频

转载 作者:太空狗 更新时间:2023-10-29 13:38:33 26 4
gpt4 key购买 nike

如有必要,我可以更详细地解释,但本质上我需要做的是影响 HTML 文本的 CSS 更改与音轨同步 - 即,突出显示与音频播放同步的单词/短语。我还需要通过点击文本来控制音频播放。我有很好的 HTML/CSS 印章,但我对原始 js 没有那么强,所以我希望有一个 jQuery 方法。我希望有人能引导我朝着最好的方向前进。

非常感谢,

svs

最佳答案

为了方便使用,我推荐jQuery和Popcorn.js的组合适用于您希望将媒体与 HTML 集成的任何内容,反之亦然。看这个jsfiddle post举个例子。

郑重声明,如果 jsfiddle 永远消失,这里是代码:

HTML

<audio id="greeting" src="https://dl.dropboxusercontent.com/u/17154625/greeting.ogg" controls></audio>

<div id="text">
<span id="w1" class="word" data-start="1.0">Hello</span>,
and <span id="w2" class="word" data-start="2.0">welcome</span>
to Stack <span id="w3" class="word" data-start="3.0">Overflow</span>.
Thank you for asking your question.
</div>​

CSS

.word {
color: red;
}
.word:hover, .word.selected {
color: blue;
cursor: pointer;
}​

JS

var pop = Popcorn("#greeting");

var wordTimes = {
"w1": { start: 1, end: 1.5 },
"w2": { start: 1.9, end: 2.5 },
"w3": { start: 3, end: 4 }
};

$.each(wordTimes, function(id, time) {
pop.footnote({
start: time.start,
end: time.end,
text: '',
target: id,
effect: "applyclass",
applyclass: "selected"
});
});

pop.play();

$('.word').click(function() {
var audio = $('#greeting');
audio[0].currentTime = parseFloat($(this).data('start'), 10);
audio[0].play();
});​

关于html - 将 HTML 文本同步并突出显示到音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10743683/

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