我正在杰基尔(Jekyll)下写博客。
我想在一个帖子中嵌入一个简单的音频播放器,以使读者可以播放简短的.wav文件。
在these instructions之后,我下载了 open-embed.html 文件,将其保存在我的 _includes 文件夹下,并修改了 default.html < / strong>根据建议布局文档。
现在我已经执行了上述步骤并将音频文件保存到 assets / audio / ,如何从我的帖子中播放它?
答案 0 :(得分:1)
将.mp3
中open-embed.html
中所有出现的.wav
替换为</script>
。或者,在结束.mp3
标记之前添加以下JavaScript函数,以防将来可能需要使用 function wav_embed() {
var p = document.getElementsByTagName('p');
for (var i = 0; i < p.length; i++) {
if (p[i].innerHTML.indexOf('.wav') !== -1) {
var str = p[i].innerHTML.split('?');
if (str.length == 1) str[1] = '';
var str1 = str[1];
str1 = str1.replace('&', '').replace('&', '');
str1 = str1.replace('autoplay=1', '').replace('autoplay=0', '');
str1 = str1.replace('loop=1', '').replace('loop=0', '');
str1 = str1.replace('controls=0', '').replace('controls=1', '');
if (
str[0].lastIndexOf('.wav', str[0].length - 4) === str[0].length - 4 &&
str1.length == 0
) {
if (str[1].indexOf('autoplay=1') !== -1) var autoplay = 1;
else var autoplay = 0;
if (str[1].indexOf('loop=1') !== -1) var loop = 1;
else var loop = 0;
if (str[1].indexOf('controls=0') !== -1) var controls = 0;
else var controls = 1;
var newInnerHTML = '<audio';
if (autoplay == 1) newInnerHTML += ' autoplay';
if (loop == 1) newInnerHTML += ' loop';
if (controls == 1) newInnerHTML += ' controls';
newInnerHTML +=
'><source src="' +
str[0] +
'" type="audio/mpeg">Your browser does not support the audio element.</audio>';
p[i].innerHTML = newInnerHTML;
}
}
}
}
wav_embed();
文件。
{% include open-embed.html %}
请记住在帖子模板中或特定帖子文件的末尾包含Some text.
../../assets/audio/file.wav
Some more text.
(如果您不经常包含音频文件,则可能会加快创建速度,我不知道)。 / p>
在发布减价文件中,链接到要播放的文件(必须作为单独的段落):
python -m pyocd list
我不确定为什么必须回到两个目录才能访问资产,因为我不必对包含的图像进行处理。如果您有任何问题,请使用网络浏览器开发人员工具检查网络上是否存在资源。
答案 1 :(得分:1)
我不建议使用open-embed.html
来完成诸如嵌入音频之类的简单任务。
只是提供一种不同的方法来完成相同的任务。
您可以轻松地创建自己的部分为
# _include/embed-audio.html
<audio controls>
<source src="{{ include.src }}" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
# Use in the post as
{% include embed-audio.html src="/assets/audio/<audio-source-name>.wav" %}