soundcloud播放器是如何编程的?

Cos*_*Inc 15 html5 soundcloud

这可能是一个太宽泛的问题,但是soundcloud实际上是如何编程的?

更具体,

  1. 用什么语言编程呢?

  2. 它如何显示频率数据?

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

  4. 它是如何"以图形方式"出现在浏览器上的呢?它也是HTML 5的东西,我什么都不知道?

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

nic*_*ckf 40

SoundCloud开发者在这里,

  1. API和当前网站是使用Rails构建的.有关架构/基础架构及其在过去5年中如何演变的信息,请查看SoundCloud架构的演变.该网站的"下一个"版本(仍在私人测试版中)完全使用Javascript构建,并且只使用API​​来获取其数据.构建下一个SoundCloud有更多详细信息.

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

  3. 用户可以上传AIFF,WAVE(WAV),FLAC,OGG,MP2,MP3,AAC,AMR或WMA文件.原始文件与下载选项保持完全相同,但对于网站上的流媒体,它们将转换为128kbps的MP3文件.再说一次,我不确定软件/库,但我很确定它会变成ffmpeg.

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

  • 如何加载新的URL并在屏幕底部保留播放器的"框架"?它是Angular.js UI路由,或Backbone,还是其他什么? (2认同)