multimedia programming

本文详细介绍使用Win32API进行多媒体编程的方法,包括创建、读取和保存BMP文件,实现图片的双缓冲和半透明处理,播放WAVE文件及MIDI音乐,并提供了丰富的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www13.plala.or.jp/kymats/study/multimedia.html


マルチメディアプログラミング

基本的には上から順番に読んで下さい
誤植や間違い、怪しい箇所、分かり難い箇所の指摘や提言を歓迎します

項目キーワード関数 & 構造体 & マクロ (Win32API)
BMPを作る  
├ DDBビットマップ メモリデバイスコンテキスト 裏画面CreateCompatibleBitmap CreateCompatibleDC BitBlt StretchBlt
├ DIB  
│ ├ 32ビットビットマップ 裏画面 ボトムアップBITMAPINFO BITMAPINFOHEADER StretchDIBits SetDIBitsToDevice HeapAlloc GetProcessHeap HeapFree
│ │ └ 演習トップダウンDIB COLORREF型とDIB 透過処理 
│ ├ 24ビットリトルエンディアン ビッグエンディアン 
│ └ 8ビットカラーテーブルRGBQUAD
└ DIBSectionDIB DDB 32ビット 24ビット 8ビットCreateDIBSection
   
BMP実践  
├ マルチバッファリングダブルバッファリング チラツキ抑制 
└ 半透明処理マルチバッファリング 
   
BMPを読み込む  
├ DDBファイル リソース インスタンスハンドルLoadImage
├ DIB24/8ビットBMPファイルから32ビットDIB作成 BMPファイルの構造 関数作成BITMAPFILEHEADER BITMAPINFO BITMAPINFOHEADER
│ └ 汎用読込関数作成24/8ビットBMPファイルから32/24/8ビットDIB作成 
└ DIBSection24/8ビットBMPファイルから32ビットDIBSection作成 関数作成 
└ 汎用読込関数作成24/8ビットBMPファイルから32/24ビットDIBSection作成 
   
BMP実践  
├ アニメーションパラパラアニメーション 
├ 複数画像の表示切り替え  
└ 伸縮モード変更 SetStretchBltMode GetStretchBltMode
   
BMPファイルに保存する  
├ DIB32/24/8ビットDIBから24/8ビットBMPファイル作成 関数作成 
├ DIBSection32/24ビットDIBSectionから24ビットBMPファイル作成 
└ DDB関数作成 
   
BMP補足  
├ 16ビットDIB作成ビット変換 
├ DIB→DDB変換DDBとメモリデバイスコンテキストCreateDIBitmap SetDIBits
├ DDB→DIB変換 GetDIBits
└ スクリーンキャプチャ GetDesktopWindow
   
PlaySound  
├ WAVE(ファイル/リソース)再生 PlaySound
└ WAVEファイルをメモリから再生  
   
MCIコマンド  
├ 再生&よく使うコマンドMCI_OPEN MCI_PLAY MCI_CLOSE MCI_STOP MCI_SEEK MCI_PAUSE MCI_RESUMEmciSendCommand MCI_OPEN_PARMS
└ メッセージ&構造体&エラー文字列コールバック MCI_NOTIFY MM_MCINOTIFY MCI_SEEKMCI_PLAY_PARMS MCI_GENERIC_PARMS MCI_SEEK_PARMS mciGetErrorString
   
waveOut  
├ WAVEデータ作成&再生8/16ビットモノラル 標本化周波数 量子化ビット数waveOutOpen waveOutPrepareHeader waveOutWrite waveOutReset waveOutUnprepareHeader waveOutClose WAVEFORMATEX WAVEHDR
├ よく使う関数&コールバック&エラー文字列MM_WOM_OPEN MM_WOM_DONE MM_WOM_CLOSEwaveOutPause waveOutRestart waveOutGetVolume waveOutSetVolume waveOutGetErrorText
├ WAVEファイルを読み込むWAVEファイルの構造 関数作成PCMWAVEFORMAT WAVEFORMAT
└ WAVEデータをファイルに保存関数作成 
   
waveOut実践  
├ ステレオWAVEデータ作成8/16ビットステレオ 
│└ 音量の左右個別設定  
├ マルチバッファリング WAVEHDR
└ 現在の再生位置の取得 waveOutGetPosition MMTIME
   
WAVE補足  
├ MCIコマンドによるCD再生トラック変更MCI_SET_PARMS MCI_STATUS_PARMS MCI_MAKE_TMSF
├ 波形描画ステレオ対応 
└ waveOutSetPosition関数作成関数作成 シーク ブロックアライメント 
   
MIDI  
├ MCIコマンドよるMIDIファイル再生  
├ MIDIを鳴らすショートメッセージmidiOutShortMsg
├ MIDIリソース再生の裏技一時ファイル MCIコマンド 関数作成GetTempPath GetTempFileName FindResource LoadResource LockResource SizeofResource
└ SMF  
├ フォーマット変換(1から0)ランニングステータス 可変長数値 
└ 演奏コールバックスレッド 時間取得midiStreamOpen midiOutPrepareHeader midiStreamOut midiStreamRestart midiOutReset midiOutUnprepareHeader midiStreamClose MIDIEVENT
   

掲載内容は予告なく変更する可能性があります


ホーム



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值