html - soundcloud player 是如何编程的?

标签 html soundcloud

这个问题可能太宽泛了,但是 soundcloud 是如何编程的呢?

更具体地说,

  1. 用什么语言编写的?

  2. 如何显示频率数据?

  3. 如果用户上传的文件格式不同于 MP3,是转换为 MP3 还是按原样播放?如果是前者,转换如何进行?

  4. 它如何以“图形方式”显示在浏览器上?这也是我一无所知的 HTML 5 东西吗?

我是 soundcloud 的忠实粉丝,忍不住想知道所有这些是如何工作的! 请帮帮我 :)

最佳答案

这里是 SoundCloud 开发人员,

  1. API 和当前网站都是使用 Rails 构建的。有关架构/基础设施及其在过去 5 年中如何发展的信息,请查看 Evolution of SoundCloud's Architecture . "next" version该网站的一部分(仍处于私有(private)测试版)完全使用 Javascript 构建,仅使用 API 获取其数据。 Building The Next SoundCloud 中提供了更多详细信息.

  2. 我不确定具体使用什么语言/库来处理音频,但许多音频库确实提供频率数据,我们只是提取它。

  3. 用户可以上传AIFF, WAVE (WAV), FLAC, OGG, MP2, MP3, AAC, AMR or WMA files .原件与下载选项完全一样,但为了在网站上流式传输,它们被转换为 128kbps MP3 文件。同样,我不确定软件/库,但我很确定它是 ffmpeg。

  4. 为了显示波形,在后端处理上传的音频文件时,波形数据会保存到 PNG 文件中。在当前版本的网站上,我们只需加载该文件。接下来,处理 png 以获取原始数据,然后以所需的确切尺寸将其绘制到 Canvas 上(这使图像保持清晰)。我们目前正在试验以 JSON 格式获取波形数据以加快此过程。

关于html - soundcloud player 是如何编程的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12263672/

相关文章:

facebook-graph-api - 我可以获得 Soundcloud 用户的收听历史记录吗?

javascript - 如何使用 Soundcloud Javascript SDK 进行 a/resolve?

html - 响应式样式表上的背景图片不起作用

javascript - "landing page"的一个好的定义是什么?

html - Bootstrap 在整个窗口中显示一个 div 元素

javascript - 从soundcloud获取歌曲信息,有歌曲id

html - 如何防止 flex 元素在包装时拉伸(stretch)

javascript - 无法以 Angular 找到 CSS

ios - 我什么时候可以让用户在线标记为真?

javascript - 如何循环 Soundcloud 解析 api 而不每秒调用太多次?