豆瓣FM、百度随身听等在线播放器播放的MP3格式音乐怎样实现边播放边下载的
根据维基百科Streaming media(流媒体)条目:http://en.wikipedia.org/wiki/Streaming_media3 Codec, bitstream, transport, controlThe audio stream is compressed using an audio codec such as MP3, Vorbis or AAC.
■网友
是不是流媒体和 mp3 没有关系,任何编码格式都可以是流媒体(即使你说的边下载边播放),除非你的编码格式怪异到第一帧解码要用到最后一帧的数据……没有那样变态的编码格式。 至于如何方式爬虫抓取,豆瓣电台和豆瓣音乐人使用的文件地址是可变的,大约是这样的一个格式:h t t p: / / imgx . douban . com/mp3/可变的字符串/文件名.mp3上面的地址中,每过一段时间,中间那个“可变字符串”部分就变化,也就是说你抓下来的地址,过一段时间就失效了。
■网友
非专业人士的答案1.怎么确定网页中音乐文件的后缀是不是MP3(有的文件虽然后缀名为MP3但不是MP3格式的),用chrome浏览器打开网页→审查元素→NetWork→ctrl+F,搜索关键字“MP3”,如果搜索不到刷新网页再次搜索。2.边播放边下载是如何实现的?上面有人回答用flash,我猜想LZ是想知道flash又是怎么实现的呢?具体我也不清楚,我这里有一个小例子也许可以给你点启发。我曾经用二进制编辑器把一个MP3文件随便掐头去尾或者从中随便选取一段数据(数据大小有一个最小限度,太小是不能播放的)组成一个新的文件依然可以播放,所以可以把一个MP3文件切割成固定或者非固定大小的有序的数据包,每一个数据包相当于一个小MP3文件是可以直接播放的。3.如何防止MP3库被爬虫下载。猜测1:可以检测HTTP中的referer猜测2:搜索如何防止盗链应该会有所帮助。
■网友
那为什么下载一半的MP3没法播放?是有特殊播放解码需求么?
■网友
如果“流媒体”定义为可以边下载边播放,mp3是相当合格的流媒体,常见的视频格式也都如此。具体的方式,就是下载一部分,解码一部分,播放一部分。可以认为这种格式把多个小文件连在了一起,每次成功下载一个小文件,就可以打开。
■网友
MP3 ,但是是码率比较低的MP3,用的是Flash。
■网友
Flash读取网络上的MP3文件并同时进行播放。
推荐阅读
- 为啥开通了百度云超级会员下载速度还是会那么慢
- 豆瓣为啥受到同志社群的欢迎
- 浏览器突然上不了百度
- 怎样看待财新周刊的文章《百度灰生态》
- 百度挂了,打开不了,时间2017年2月28日晚上9点左右
- Facebook, Google, 百度等公司自制开源服务器,对IBM,HP,Dell等传统服务器生产商的冲击是啥
- 百度统计是否有统计页面上某个按钮被点击次数的功能
- 百度游戏和完美世界的选择
- 豆瓣|豆瓣9.4分,却只有两千人看过:这部纪录片,我不敢看第二遍…
- 怎样看待豆瓣 FM 之类的音乐推荐系统与传统的主动找歌的听音方式相比,算不算一个完全革新的被动接受的听音模式会不会完全或者部分取代前者