日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

操作 Wave 文件(4): 获取 Wave 文件主块与子块的信息

發布時間:2025/5/22 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 操作 Wave 文件(4): 获取 Wave 文件主块与子块的信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有兩個相關的結構體: TMMIOInfo、TMMCKInfo.

TMMIOInfo 是多媒體文件打開后的狀態信息, mmioOpen 函數的第二個參數就是這個結構的指針.
現在先用到了 TMMCKInfo, 這是文件內部 "塊" 的信息, 構成如下:
TMMCKInfo = recordckid: FOURCC; {塊標識}cksize: DWORD; {塊大小}fccType: FOURCC; {格式類型標識}dwDataOffset: DWORD; {偏移地址}dwFlags: DWORD; {附加信息} end;
查找 "塊" 需要通過 mmioDescend、mmioAscend 兩個函數.

mmioAscend 是從子塊跳出;

mmioDescend 是進入到子塊; 進入子塊是需要指定子塊的 ckid 和父塊信息;
mmioDescend 也用來查找主塊(RIFF), 此時需要很少的信息就可以找到主塊.

測試代碼:

unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;Button2: TButton;procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses MMSystem;const FilePath = 'C:\WINDOWS\Media\Windows XP 啟動.wav';//獲取 RIFF 塊的信息 procedure TForm1.Button1Click(Sender: TObject); varhFile: HMMIO;ckiRIFF: TMMCKInfo; begin//清空 ckiRIFF 結構體; 有些函數使用前要求必須清空, 即使不要求也還是清空的好.FillChar(ckiRIFF, SizeOf(TMMCKInfo), 0); {局部變量在清空前有垃圾數據}//打開文件, 獲取句柄hFile := mmioOpen(PChar(FilePath), nil, MMIO_READ);//獲取 RIFF 塊的信息mmioDescend(hFile, {文件句柄}@ckiRIFF, {塊信息結構的指針, 用于獲取塊的信息}nil, {這父塊的結構信息, RIFF 沒有父塊, 無需指定}MMIO_FINDRIFF {如果是查詢子塊這里的標志是 MMIO_FINDCHUNK}); {返回 0 表示查找成功, 這里忽略了驗證}//以下是查證獲取到的信息ShowMessageFmt('%d, %d, %d, %d, %d', [ckiRIFF.ckid, ckiRIFF.cksize, ckiRIFF.fccType,ckiRIFF.dwDataOffset, ckiRIFF.dwFlags ]); {1179011410, 424636, 1163280727, 8, 0}if ckiRIFF.ckid = FOURCC_RIFF then ShowMessage('是 RIFF');if ckiRIFF.fccType = mmioStringToFOURCC('WAVE',0) then ShowMessage('是 WAVE');//關閉mmioClose(hFile, 0); end;//獲取子塊的信息 procedure TForm1.Button2Click(Sender: TObject); varhFile: HMMIO;ckiRIFF,ckiSub: TMMCKInfo;n: Integer; begin//清空準備接受信息的結構FillChar(ckiRIFF, SizeOf(TMMCKInfo), 0);FillChar(ckiSub, SizeOf(TMMCKInfo), 0);hFile := mmioOpen(PChar(FilePath), nil, MMIO_READ);//先獲取主塊(RIFF)信息mmioDescend(hFile, @ckiRIFF, nil, MMIO_FINDRIFF);//獲取 fmt 子塊信息ckiSub.ckid := mmioStringToFOURCC('fmt', 0);if mmioDescend(hFile, @ckiSub, @ckiRIFF, MMIO_FINDCHUNK) = MMSYSERR_NOERROR thenbeginShowMessageFmt('%d, %d, %d, %d, %d', [ckiSub.ckid, ckiSub.cksize, ckiSub.fccType,ckiSub.dwDataOffset, ckiSub.dwFlags]);end;//如果繼續查找需要跳出子塊; 下面將從偏移地址 20 跳到 36 處mmioAscend(hFile, @ckiSub, 0); {其第三個參數一直是 0, 是備用參數}//獲取 data 子塊信息ckiSub.ckid := mmioStringToFOURCC('data', 0);if mmioDescend(hFile, @ckiSub, @ckiRIFF, MMIO_FINDCHUNK) = MMSYSERR_NOERROR thenbeginShowMessageFmt('%d, %d, %d, %d, %d', [ckiSub.ckid, ckiSub.cksize, ckiSub.fccType,ckiSub.dwDataOffset, ckiSub.dwFlags]);end;mmioClose(hFile, 0); end;end.

總結

以上是生活随笔為你收集整理的操作 Wave 文件(4): 获取 Wave 文件主块与子块的信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 4444亚洲人成无码网在线观看 | 日韩欧美中文字幕在线视频 | 神马久久春色 | 91超碰国产在线 | 亚洲熟女综合色一区二区三区 | 日韩欧美高清片 | 91挑色| www.97色 | 日韩伊人 | 蜜臀久久99精品久久久 | 欧美一级淫片免费视频黄 | 国产婷婷久久 | 六月色| 色哟哟一区二区三区 | 老王66福利网 | 亚洲iv一区二区三区 | 欧美视频www | 亚洲av无码专区国产乱码不卡 | 国产在线综合视频 | 91嫩草欧美久久久九九九 | 大尺度做爰床戏呻吟舒畅 | 黄色a级免费| 男女无遮挡免费视频 | 国产精品国语对白 | 一本大道东京热无码aⅴ | 日日日人人人 | 极品探花在线播放 | 能看的毛片 | 一区二区久久精品66国产精品 | 肉丝袜脚交视频一区二区 | 欧美性猛交bbbbb精品 | 91插插插插 | 激情福利网 | 国产福利久久久 | 久草中文在线视频 | 国产精品极品白嫩在线 | 强开小嫩苞一区二区三区网站 | 性一级视频| 欧美日韩国产91 | 日韩在线网 | 一区二区三区四区国产 | 国产精品资源在线 | 亚洲精品视频免费看 | 五月天色婷婷综合 | 欧洲av一区 | 欧美日韩电影一区二区三区 | 成人一级视频在线观看 | 日韩激情小说 | a天堂视频 | 小嫩嫩12欧美 | 69视频在线播放 | 日本大奶少妇 | 日韩黄色一级视频 | 日韩欧美黄色网址 | 韩国性经典xxxxhd | 欧美另类第一页 | 爱情岛成人 | 亚洲综合色网 | 国产影音先锋 | 深夜免费福利 | 天堂精品一区 | 国产一线在线 | 黄色xxxxxx | 波多野结衣中文在线 | 久久一二三区 | 天堂网91 | 精品国产视频一区二区三区 | 国产又黄又大又粗视频 | 性色av一区二区三区红粉影视 | xxx性欧美 | 99热在线这里只有精品 | 熟妇人妻中文字幕无码老熟妇 | 蜜色视频 | 美女张开双腿让男人捅 | 亚洲精品久久久久久久蜜桃臀 | 国产国语对白 | 中文字幕第2页 | 亚洲高清视频一区 | 最新三级网站 | 亚洲精品一区二区三区蜜臀 | 成人手机在线视频 | 日日夜夜精品免费 | 最新的av网站 | 亚洲产国偷v产偷v自拍涩爱 | 欧美网站免费 | 91在线视频免费看 | 免费看欧美一级特黄a大片 国产免费的av | 天天干天天摸 | av先锋影音| 一区二区三区四区高清视频 | 手机在线看片日韩 | 伊人精品在线观看 | 亚洲天堂av网 | 亚洲第5页| 桃谷绘里香在线播放 | 国产强被迫伦姧在线观看无码 | 欧美级毛片 | 超级砰砰砰97免费观看最新一期 | 欧美性猛交xxxx乱大交3 |