如何计算MP3总时长的问题(三)--对于变比特率MP3求总时长
摘要:3、变比特率MP3总时长求解 之前我们所讨论的都是对于一个固定比特率(CBR)的MP3进行求总时长,由于固定比特率的特殊性,很容易第一帧的帧头就能知道整个MP3的信息,但是对于变比特率(VBR)的MP3,比特率和帧长都不是固定的,所以我们就不能用之前的公式来计算总时长。 其实在第一帧的帧头后面还存着VBR的一些信息,里面存着文件长度,总帧数等信息,从而使我们很快算出变比特率的总时长,方法如下: 1...
阅读全文
posted @
2010-11-26 18:12
candycaicai
阅读(2462)
推荐(0)
最近在烦恼程序的效率问题!
摘要:前几天病了,就没来博客园,之前的MP3的时长计算问题还没写完呢,其实这块的代码早完成了,现在在做优化,效率太重要了,你如果在pc上编程序,可能你随便申请内存,随便加个超大空间的数组,或者失误的忘记free,或者忘记delete了什么,或者忘记把不需要的指针指向空,或者连dc都忘了release,可能pc都能混着过去,很久才能发现,但是在基于嵌入式设备开发,时刻提醒自己,mallco之后要free,new完了,用了之后要delete,不需要的指针要指向空,要不就成野指针了,不要忘记releasedc。等等。。。要不就出现严重后果,不过这样也锻炼一个程序员写出最优化和最好的代码。 现在的问题就是
阅读全文
posted @
2010-11-25 23:20
candycaicai
阅读(292)
推荐(0)
结构体的大小不一定是所有成员大小之和
摘要:今天在申请内存空间的时候发现结构体的大小并不是结构体内成员大小的相加,我觉得很奇怪,就在搜了一下资料,发现原来如此: 结构体中的成员可以是不同的数据类型,成员按照定义时的顺序依次存储在连续的内存空间,需要注意的是结构体的大小不是所有成员大小简单的相加,需要考虑到系统在存储结构体变量时的地址对齐问题。 这就涉及到一个定义:偏移量,偏移量指的是结构体变量中成员的地址和结构体变量地址的差。结构体大小等于最后一个成员的偏移量加上最后一个成员的大小。举个例子:typedef struct{ int count; int num; char s; }INFO; 第一个成员的偏移量是0,第二个成员的偏移
阅读全文
posted @
2010-11-15 16:17
candycaicai
阅读(1318)
推荐(0)
如何计算MP3总时长的问题(二)
摘要:接着上一次的往下写2、Mp3的帧详解 每一帧其实包括 帧头,附加信息,主数据,其实我们只要找到帧头,帧头中所包含的数据就能让我们掌控这一帧的信息,帧头固定4个字节(32bit),格式如下 AAAAAAAA AAABBCCD EEEEFFGH IIJJKLMM 下面是就是每个位置代表的含义: 标识长度含义示例A11用于同步帧,找到此帧头(所有位均置 1)11111111111B2音频版本...
阅读全文
posted @
2010-11-12 17:58
candycaicai
阅读(2917)
推荐(0)
如何计算MP3的总时长问题(一)
摘要:研究了MP3格式后,把自己的积累分享给大家!
阅读全文
posted @
2010-11-09 11:33
candycaicai
阅读(3359)
推荐(0)
malloc函数与relloc函数
摘要:使用malloc函数与relloc函数要注意的··
阅读全文
posted @
2010-11-02 14:41
candycaicai
阅读(2467)
推荐(0)