就这样! 确保您使用的是我提供的网址。 ![]()
在 iPad 和 iPhone 上,以及在 DiscourseHub 上,它都能正常工作。剪辑的长度在播放时会显示出来。
我提交了 PR ![]()
其他 PR 可能的功能:
- 添加对聊天的支持
- 添加对暂停/恢复的支持
太棒了

一个疯狂的想法——为作曲家上传的 .mp3 音频文件添加一个 AI 转录按钮?这样用户就可以(现在)在作曲家中录制帖子,还可以使其文本可读和可搜索。
要包含 OpenAI/Whisper 功能需要什么?
或者,在选择作曲家中的文件后出现的 AI 下拉选项中……
……可以包含一个转录文本选项
这将是一个有趣且有用的功能!![]()
我将在另一天检查可行性。
非常感谢!
如果实现在聊天中,那么内联自动转录也可以包含翻译。
我在系统中更新了这个组件。
https://github.com/paviliondev/discourse-voice-recorder
在 Mac 上的 Firefox/Safari/Chrome 以及 iPhone 上试过
它显示这个,但无法录音。
有人能确认一下吗?谢谢……
请检查浏览器的控制台,看是否有错误。\n\n此时,这意味着有东西在阻止库脚本加载。
我刚刚按照上面链接的 paviliondev 存储库中的说明全新安装了 TC。
我的 Discourse 实例中的所有功能都正常工作。这是一个视频……
(在创建/上传/播放的任何步骤中,控制台中都没有出现任何错误。)
这是托管在 communiteq 上的 discourse 3.2.1
load-script.js:43 由于违反了以下内容安全策略指令,拒绝加载脚本“https://www.mydiscoursesite.com/uploads/db9860/original/3X/c/f/cf579d0503105d41f84653929d510e17f12d9f5b.js”:
“script-src
https://www.mydiscoursesite.com/logs/
https://www.mydiscoursesite.com/sidekiq/
https://www.mydiscoursesite.com/mini-profiler-resources/
https://www.mydiscoursesite.com/assets/
https://www.mydiscoursesite.com/extra-locales/
https://www.mydiscoursesite.com/highlight-js/
https://www.mydiscoursesite.com/javascripts/
https://www.mydiscoursesite.com/plugins/
https://www.mydiscoursesite.com/theme-javascripts/
https://www.mydiscoursesite.com/svg-sprite/
我可以复现。
最近引入的一项设置允许外部脚本动态运行,无需手动配置。
它在 3.2 中不可用。

允许“/uploads”目录绝对不是一个好主意。
但是,作为一种变通方法,只允许 URL 应该没问题。
如果您转到组件设置:
您可以右键单击每个链接,将其复制并粘贴到 content security policy script-src 设置中。
我不知道从主题组件的角度来看,处理 CSP 问题是否有更好的方法。 ![]()
感谢 @Arkshine
在控制台中,我看到了 /uploads/ URL 中的这两个 JS,并已将它们添加到“内容安全策略脚本源”列表中。
https://www.site.com/uploads/db9860/original/3X/c/f/cf579d0503105d41f84653929d510e17f12d9f5b.js
https://www.site.com/uploads/db9860/original/3X/a/2/a25eb4ec6c9652e57eefc81bc25c81105232369b.js
确认了浏览器的录制权限。
然后,每次开始录制时,都会出现错误,并且 URL 不同,似乎 ID 是动态生成的?
https://www.site.com/8f955841-9b8b-4857-8549-ac57ee0e4517
https://www.site.com/d43014ac-e80d-4879-83a2-bd046d43a25c
…
添加这些 URL 没有帮助,似乎它们是为每次录制生成的……?
它奏效了,谢谢 @Arkshine!
期待在聊天中进行语音录制 ![]()
我没有遇到此错误,显然是因为我已经在 内容安全策略脚本源 中将 blob: 作为条目,因为 @peter.be 的 插件 需要它,并且自从删除该插件后,我没有从 内容安全策略脚本源 中删除 blob: 条目,所以它已经存在了,如下所示……
是否还需要在 Discourse 管理员设置中将 mp3 添加到授权扩展名列表中?我也已经从之前就有了……
仅供思考:CSP 往往会严重破坏事物,因此通常会使用实际上只是通配符的规则——然后 CSP 就完全失去了它的意义。
所以呢?











