摘要:
是的,代码出现了臭味(Smell),需要重构(Refactoring)。让我们谨遵Martin Fowler的教诲——不要将重构和添加新功能同时进行——这一步我们仅进行重构。我们要做的就是去除这个恶性依赖,采用依赖倒置原则(Dependency-Inversion Principle)惯用的“用两个抽象依赖代替一个具体依赖”策略…… 阅读全文
随笔档案-2007年08月
关于MP3文件播放时间的计算
2007-08-08 17:50 by 莫耶, 6464 阅读, 收藏,
摘要:
根据RFC文档上的说法,只要知道文件的长度,播放的比特率(bitRate),采样率(Simpling Frequency Rate)以及 填充位数(Padding bits),以及“恒定每26ms能播放一数据帧” 的约定,就可以计算出播放时长
okay,要做的就是,了解mp3帧格式,获取比特率,采样率 以及 填充位数
在mp3文件的末尾,恒存在一个长度为128字节的ID3 Tag Version 1的标签,用以描述文件。如果愿意,还可以添加一个ID3 Tag Version 2到文件头,长度不固定,不过在其头部,会有10字节的描述头,里头标识出这个TAG结构的总长(含10字节),然后,接下来夹着的一直到TAG V1的部分,就是全部的数据帧。
假定这些帧是采取CBR格式,即固定帧长存储,则每一帧的帧头描述都是一样的,基于此,便可计算出所需要的数据……
阅读全文
浙公网安备 33010602011771号