於是我仔細看了看adts頭的內容:
synword 12
id 1
layer 2
protection_absent 1
profile 2
sampling_frequency_index 4
private_bit 1
channel_configuration 3
original/copy 1
home 1
根據以上資訊,我們對頭進行的資料設定為:
adtshdr[0] = (uint8)0xff;
adtshdr[1] = (uint8)0xf9;
adtshdr[2] = (0x01<<6)|((0x06)<<2)|0x00;
adtshdr[3] = (uint8)0x80;
adtshdr[4] = ((size+7)>>3)&0xff;
adtshdr[5] = (((size+7)&0x07)<<5|0x1f);
adtshdr[6] = (uint8)0xfc;
從這7個位元組的內容我們可以看出,第四個第五個位元組是由該aac的幀大小獲取的,更仔細地看,我們可以知道:adtshdr[4] = ((size+7)>>3)&0xff; //取出size的前5位, 而adtshdr[5] = (((size+7)&0x07)<<5|0x1f); //取出size的後3位, 因此我們可以根據這兩項的內容得到size資訊,即:將第四位元組的前五位與第五個位元組的後三位相拼後再減去7。
有了這個size資訊,是不是就很容易進行資料分割了呢!
PHP中 XBM格式 檔案的操作
1.xbm格式是一種可讀的文字格式儲存影象,檔案可用文字編輯器開啟,類似如下 define test width 20 define test height 20 static unsigned char test bits 2.使用php建立xbm影象是要注意 imagecreatetruecol...
乙個檔案分割成多個檔案
linux 或 類unix 下乙個檔案分割成多個 split l 20000 filename.txt a 3 d filename ls grep filename xargs n1 i mv txt 選項 options b 選項後跟期望切割後的單個檔案的大小,單位k或者m eg.split b...
乙個簡單而實用的make檔案
原來一直都是手工為專案維護乙個make檔案,特別是檔案越來越來多的時候,維護make檔案就成了乙個很大的負擔,其實gnu make還提供了乙個函式 wildcard wildcard 可以生成源程式檔案列表。project ptest libs lpthread source wildcard sr...