在 github 页面上的 repo 中获取音频文件

Phi*_*arg 5 html html5-audio github-pages

我在 github 页面上托管一个项目,并想通过 html5<audio>元素播放位于我的存储库中的音频文件。当我在我的开发环境中获取它时,音频播放正常,但是当我推送到 gh-pages 时,我收到一个 404 控制台错误,无法找到它。

<audio ref='themeSong' src="vendor/assets/music/Tetris.mp3" autoPlay loop></audio>
Run Code Online (Sandbox Code Playgroud)

错误:

GET http://myName.github.io/vendor/assets/music/Tetris.mp3 404 (Not Found)
Run Code Online (Sandbox Code Playgroud)

我试过采购它:

"vendor/assets/music/Tetris.mp3"
"/vendor/assets/music/Tetris.mp3"
"http://github.com/myName/myRepo/vendor/assets/music/Tetris.mp3"
"http://github.com/myName/myRepo/tree/master/vendor/assets/music/Tetris.mp3"
Run Code Online (Sandbox Code Playgroud)

但似乎没有任何效果。

Von*_*onC 6

您可以尝试引用原始网址

https://raw.githubusercontent.com/myName/myRepo/master/vendor/assets/music/Tetris.mp3
Run Code Online (Sandbox Code Playgroud)

注意:像rawgit.com这样的服务提到:

raw.githubusercontent.com当您从或请求文件时,GitHub 通常会使用ofgist.githubusercontent.com来提供该文件(对于 JavaScript、HTML、CSS 和其他一些文件类型)。因此,大多数现代浏览器实际上不会将其解释为 JavaScript、HTML 或 CSS。Content-Typetext/plain

他们这样做是因为从 git 存储库提供原始文件的效率相对较低,因此他们希望阻止人们使用 GitHub 存储库进行静态文件托管。

RawGit 充当缓存代理,将请求转发到 GitHub,短期(对于rawgit.comURL)或永久(对于cdn.rawgit.comURL)缓存响应,并使用正确的Content-Type标头将它们转发到您的浏览器。