是否可以在表格内嵌入媒体播放器(音频/视频)?

我在想是否有一种方法可以将媒体文件组织成某种表格。这是我目前的做法:

测试 1:

测试 2:

测试 3:

但我希望能像这样操作(嵌入播放器而不是显示 URL):

哦,这会有点棘手。这本质上是在请求一种方法,让“完整预览框(full onebox)”出现在行首以外的链接上。我认为在你遇到的这种非常罕见的情况下,这可能很有用。

我某种程度上支持这样的改动,允许在那些需要强制在行中间显示预览框的“超级忍者”场景下使用类似这样的语法:

<a href="onebox_url" type=onebox>...</a>

问题是,目前我们所有的预览框样式都假设它是该行唯一的内容,并占据整行宽度,因此需要修改一系列相关的假设。

当需要在 details 区块内显示单框时,这也非常有用。

我不确定这是否有帮助,但另一种界面方案是扩展 BBCode 语法。例如:

[audio src="https://file.m4a"][/audio]

或者甚至:

[inline_onebox]https://file.m4a[/inline_onebox]

或者我们是否可以直接将 audio、video 和 source 标签加入白名单?目前,在 Discourse 上发布包含多个来源(一个 mp4 和一个 webm)的视频是不可能的,因此无法在所有设备上播放。

您是否考虑过允许使用 iframe,并将表格发布到其他位置?

@martin 多亏了你那 出色的 PR,即使 URL 左侧有字符,音频链接现在也能正常工作了!:tada:(我的许多用户曾在这个细节上遇到困扰,所以这对他们来说会容易得多)。

我注意到现在音频文件在 details 内部也能正常工作:

示例

我原本希望它们也能在 Markdown 表格中正常工作,但我发现目前还不支持:

名称 音频文件放置处
示例 ![New Recording 23

我本以为问题可能出在管道符 | 上,但它在 HTML 表格中也不起作用:

名称 音频文件放置处
示例 ![New Recording 23|video](upload://g3KMoFLMKmekLPcoBovHQCD71eU.mp4)

这是否有可能作为功能包含在未来的版本中?

Markdown 表格可以正常工作,但你需要使用反斜杠转义 | 符号,例如 \|。这是一个稍显烦人的问题,因为 Markdown 表格本身已经对管道符赋予了特定语义。

我部分倾向于添加另一个可选字符作为分隔符。逗号并不是理想选择,因为人们可能会用它来描述内容。

这目前是一个相当不错的变通方案。感谢指出!

我遇到的唯一问题是,当我尝试编辑包含多个音频文件(实际上是同一个文件重复出现)的中等规模表格时,会收到 429 错误(请求过多)。在我尝试保存更改时,弹出了一个 Discourse 模态框,控制台显示如下:

我所做的只是向该表格添加了三行:

我不确定这是否是预期行为,或者是否有办法通过懒加载资源来避免该错误(我经过多次重试后最终成功了)。

嗯,我有点好奇,如果我们现在在页面中放入一个 40MB 的 MP3 文件,浏览器会在播放前下载全部内容吗?

如果确实存在这种情况,那么使用懒加载显然很有意义。我们唯一会失去的是时长信息,但这可以在服务器端获取。