程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 操作 Wave 文件(3): 接觸 mmio 系列函數

操作 Wave 文件(3): 接觸 mmio 系列函數

編輯:Delphi

 mmio 系列函數用於 Wave 等多媒體文件的 I/O 操作, 相關函數有:

mmioOpen 
mmioClose 
mmioRead 
mmioWrite 
mmioFlush 
mmiOSeek 
mmioRename 
 
mmioGetInfo 
mmiOSetInfo 
 
mmioCreateChunk 
mmioAscend 
mmioDescend 
mmioAdvance 
mmiOSetBuffer 
 
mmiOStringToFOURCC 
 
mmiOSendMessage 
mmioInstallIOProc 

  mmio 系列函數比一般的 I/O 函數更適合操作 RIFF 格式的多媒體文件, 主要是能更方便地操作 RIFF 的文件塊, 官方還說它們更優化.

  和其他 I/O 函數一樣, 它們也是要 Open 獲取句柄, 然後讀寫, 最後關閉; 但它們文件句柄和其他 I/O 函數的句柄並不兼容, 不過部分函數(上面前 7 個)也可以用於一般文件的操作.

  就先操作個一般文件吧.

uses MMSystem; 
 
procedure TForm1.FormCreate(Sender: TObject); 
const 
 FilePath = 'C:\Temp\mm.txt' ; 
var 
 hFile: HMMIO; 
 str: RawByteString; 
begin 
 hFile := mmioOpen(PChar(FilePath),       {要打開的文件}  
          nil,             {接受 TMMIOInfo 結構信息的指針, 暫時沒用到} 
          MMIO_CREATE or MMIO_READWRITE {打開選項; 這是建立並以讀寫權限打開} 
          ); 
 mmioWrite(hFile, 'Delphi', 6);   {寫入 6 個字符} 
 
 mmiOSeek(hFile, 0, SEEK_SET);    {把讀寫指針移動到文件頭} 
 
 SetLength(str, 6); 
 mmioRead(hFile, PAnsiChar(str), 6); {讀出 6 個字符} 
 ShowMessage(str);          {Delphi} 
 
 mmioClose(hFile, 0);        {關閉文件; 第二個參數還可以是 MMIO_FHOPEN, 另有它用} 
 
 {最後再刪除這個文件, 既然已刪除就無需 Close 了} 
 mmioOpen(PChar(FilePath), nil, MMIO_DELETE); 
end; 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved