NSDAVI メンバ
AVIファイルの作成、ビデオストリームから画像ファイルの作成をします。
※処理データと使用環境にインストールされているコーデックによっては関数が失敗する場合があります。
●コンストラクタ
名前
説明
NSDAVIを初期化します。
●プロパティの一覧
名前
説明
AVICreateCheckHic AVIファイル作成時にコンプレッサハンドルの確認を行うかの設定を行います。 AVICreatePic4Multiple AVIファイル作成時に画像の幅、高さを4の倍数に合わせるかの設定を行います。 JpegQuality JPEGファイル作成時の品質を設定します。 TiffCompression TIFFファイル作成時の圧縮種類を設定します。 TmpBmpFileSelectPixcelFormat 一時ファイルで作成するビットマップのPixcelFormatを指定するかを設定します。 TmpBmpFilePixcelFormat 一時ファイルで作成するビットマップのPixcelFormatを設定します。 IsProcess32 32ビットのプロセスで実行されているかを返します。
●メソッドの一覧
名前
引数
戻り値
説明
なし
なし
リソースの開放を行います。
※終了時に必ず呼び出します。(内部でCls_Dispose()を呼び出しています。終了処理でCls_Dispose()を呼び出している場合は、呼び出す必要はありません。)
なし
なし
リソースの開放を行います。
※終了時に必ず呼び出します。(終了処理でDispose()を呼び出している場合は、呼び出す必要はありません。)
AVIInit なし なし AVIFileライブラリを初期化します。
※AVIExitを呼び出した後に初期化、終了関数以外を呼び出す場合は、AVIInitを他の関数を呼び出す前に呼び出してください。AVIExit なし なし AVIFileライブラリを終了します。 GetAVIFileInfo ( String , AVI_FILEINFO ) Boolean型 AVIファイル情報を取得します。 GetAVIStremInfo ( String , AVI_STREAMINFO , IC_INFO ) Boolean型 ビデオストリーム情報を取得します。 ( String , AVI_STREAMINFO , IC_INFO , STREAM_TYPE ) Boolean型 AVIファイルのストリーム情報を取得します。 GetTypeName ( Int32 ) String型 ストリームのタイプを変換します。 GetAVIToBMPCount ( String ) Integer型 AVIファイルからビデオストリームの長さを取得します。 GetCompressionList なし IC_INFO()型 ビデオコーデックのリストを返します。 GetAVIToPicture ( String , String , String , Integer , PICTURE_SAVE_STYLE) Boolean型 AVIファイルから全フレームを指定画像形式のファイルにします。 ( String , String , Integer , String , PICTURE_SAVE_STYLE ) Boolean型 AVIファイルから指定フレームを指定画像形式のファイルにします。 ( String , String , Integer , Integer , Integer , String , PICTURE_SAVE_STYLE ) Boolean型 AVIファイルから指定範囲のフレームを指定画像形式のファイルにします。 GetDefaultAVISTREAMINFO なし AVI_STREAMINFO型 ストリーム情報用の構造体を初期化します。 SetPictureToAVI ( String , PICTURE_SAVE_STYLE , String , AVI_STREAMINFO ) Boolean型 画像ファイルからAVIファイルを圧縮なしで作成します。 ( String , PICTURE_SAVE_STYLE , String , AVI_STREAMINFO , Boolean ) Boolean型 画像ファイルからAVIファイルを圧縮なしで作成します(毎回画像ファイル情報からストリームフォーマットをセットします。)。 ( IntPtr , String , PICTURE_SAVE_STYLE , String , AVI_STREAMINFO ) Boolean型 画像ファイルからAVIファイルを圧縮オプション用ダイアログを表示して作成します。 ( IntPtr , String , PICTURE_SAVE_STYLE , String , AVI_STREAMINFO , Boolean ) Boolean型 画像ファイルからAVIファイルを圧縮オプション用ダイアログを表示して作成します(毎回画像ファイル情報からストリームフォーマットをセットします。)。 ( String , PICTURE_SAVE_STYLE , String , AVI_STREAMINFO , COMPVARS ) Boolean型 画像ファイルからAVIファイルを圧縮オプションを指定して作成します。 ( String , PICTURE_SAVE_STYLE , String , AVI_STREAMINFO , COMPVARS , Boolean ) Boolean型 画像ファイルからAVIファイルを圧縮オプションを指定して作成します(毎回画像ファイル情報からストリームフォーマットをセットします。)。 GetCompressOptions ( IntPtr , ICMF_CHOOSE , COMPVARS , [String] ) Boolean型 圧縮オプションを設定します。
※CompressOptionsFreeで必ずリソースを開放してください。CompressOptionsFree ( COMPVARS ) Boolean型 GetCompressOptionsで使用したリソースを開放します。 IsOkCompressOptions ( COMPVARS ) Boolean型 圧縮オプションがSetPictureToAVIで使用できるかを確認します。
※コーデックのハンドル、コンプレッサ情報、サイズ指定の確認、品質の確認、フラグの確認を行います。UnionVideoAviAndWave ( String , String , String ) Boolean型 ビデオ用AVIファイルとオーディオ用Waveファイルを結合します。 GetErrorNo なし ErrorNo型 エラー番号を返します。 GetErrorMsg なし String型 エラーメッセージを返します。
●イベントの一覧
名前
引数
戻り値
説明
GetAVIPictureState ( Integer , Integer , Boolean ) なし GetAVIPictureで1件データを読み込む前に発生するイベント。 ( Integer , Boolean )
なし
SetPictureToAVIで1件データを書き込む前に発生するイベント。
●構造体の一覧
名前:RECT
構文:
Public Structure RECT
Dim Left As Int32
Dim Top As Int32
Dim Right As Int32
Dim Bottom As Int32
End Structure内容: 矩形範囲。
名前
型
説明
Left
Int32
Left。
Top Int32 Top。 Right Int32 Right。 Bottom
Int32
Bottom。
名前:AVI_FILEINFO
構文:
Public Structure AVI_FILEINFO
Private Const CstIntPrv_FileTypeSize As Integer = 64
Dim dwMaxBytesPerSec As Int32
Dim dwFlags As Int32
Dim dwCaps As Int32
Dim dwStreams As Int32
Dim dwSuggestedBufferSize As Int32
Dim dwWidth As Int32
Dim dwHeight As Int32
Dim dwScale As Int32
Dim dwRate As Int32
Dim dwLength As Int32
Dim dwEditCount As Int32
<VBFixedString(CstIntPrv_FileTypeSize), MarshalAs(UnmanagedType.ByValTStr, SizeConst:=CstIntPrv_FileTypeSize)> _
Dim szFileType As String
End Structure内容: AVIファイル情報。
名前
型
説明
dwMaxBytesPerSec Int32 近似の最大レート。 dwFlags Int32 アプリケーションフラグ。 dwCaps Int32 機能フラグ。 dwStreams Int32 ストリーム数。 dwSuggestedBufferSize Int32 ファイル読込の適正バッファサイズ。 dwWidth Int32 ビットマップの幅。 dwHeight Int32 ビットマップの高さ。 dwScale Int32 ファイルの時間単位。 dwRate Int32 ファイルのレート。 dwLength Int32 ファイルの長さ。 dwEditCount Int32 ファイルの編集回数。 szFileType String ファイルタイプの説明。
構文:
Public Structure AVI_STREAMINFO
Private Const CstIntPrv_NameSize As Integer = 64
Dim dwfccType As Int32
Dim dwfccHandler As Int32
Dim dwFlags As Int32
Dim dwCaps As Int32
Dim wPriority As Int16
Dim wLanguage As Int16
Dim dwScale As Int32
Dim dwRate As Int32
Dim dwStart As Int32
Dim dwLength As Int32
Dim dwInitialFrames As Int32
Dim dwSuggestedBufferSize As Int32
Dim dwQuality As Int32
Dim dwSampleSize As Int32
Dim rcFrame As RECT
Dim dwEditCount As Int32
Dim dwFormatChangeCount As Int32
<VBFixedString(CstIntPrv_NameSize), MarshalAs(UnmanagedType.ByValTStr, SizeConst:=CstIntPrv_NameSize)> _
Dim szName As String
End Structure内容: AVIストリーム情報。
名前
型
説明
dwfccType Int32 ストリームのタイプ。
streamtypeAUDIO: オーディオストリーム。
streamtypeMIDI : MIDIストリーム。
streamtypeTEXT : テキストストリーム。
streamtypeVIDEO : ビデオストリーム。dwfccHandler Int32 ビデオストリームを保存する圧縮ハンドラ。 dwFlags Int32 ストリームフラグ。 dwCaps Int32 機能フラグ。 wPriority Int16 ストリームの優先順位。 wLanguage Int16 ストリームの言語。 dwScale Int32 ストリームの時間単位。 dwRate Int32 ストリームのレート。 dwStart Int32 AVIファイルの最初のサンプル番号。 dwLength Int32 ストリームの長さ。 dwInitialFrames Int32 ビデオストリームとオーディオストリームをどの程度すらすかを指定。 dwSuggestedBufferSize Int32 ストリームを読み込むときに適したバッファサイズ。 dwQuality Int32 ビデオストリームの品質(0〜10000) -1:デフォルト。 dwSampleSize Int32 1データサンプルのバイト数。 rcFrame RECT 表示を行う矩形。 dwEditCount Int32 ファイルを編集した回数。 dwFormatChangeCount Int32 フォーマットの変更回数。 szName String ストリームの説明。
名前:IC_INFO
構文:
Public Structure IC_INFO
Private Const CstIntPrv_NameSize As Integer = 16
Private Const CstIntPrv_DescriptionSize As Integer = 128
Private Const CstIntPrv_DriverSize As Integer = 128
Dim dwSize As Int32
Dim fccType As Int32
Dim fccHandler As Int32
Dim dwFlags As Int32
Dim dwVersion As Int32
Dim dwVersionICM As Int32
<VBFixedString(CstIntPrv_NameSize), MarshalAs(UnmanagedType.ByValTStr, SizeConst:=CstIntPrv_NameSize)> _
Dim szName As String
<VBFixedString(CstIntPrv_DescriptionSize), MarshalAs(UnmanagedType.ByValTStr, SizeConst:=CstIntPrv_DescriptionSize)> _
Dim szDescription As String
<VBFixedString(CstIntPrv_DriverSize), MarshalAs(UnmanagedType.ByValTStr, SizeConst:=CstIntPrv_DriverSize)> _
Dim szDriver As String
End Structure内容: コンプレッサの情報。
名前
型
説明
dwSize Int32 サイズ。 fccType Int32 ストリームのタイプ。 fccHandler Int32 圧縮ハンドラ。 dwFlags Int32 フラグ。 dwVersion Int32 ドライバーのバージョン番号。 dwVersionICM Int32 ドライバーでサポートされるVCMのバージョン番号。 szName String 圧縮プログラムの短い名前。 szDescription String 圧縮プログラムの長い名前。 szDriver String VCM圧縮ドライバを含むモジュールの名前。
名前:COMPVARS
構文:
Public Structure COMPVARS
DIm cbSize As Int32
Dim dwFlags As Int32
Dim hic As IntPtr
Dim fccType As Int32
Dim fccHandler As Int32
Dim lpbiIn As IntPtr
Dim lpbiOut As IntPtr
Dim lpBitsOut As IntPtr
Dim lpBitsPrev As IntPtr
Dim lFrame As Int32
Dim lKey As Int32
Dim lDataRate As Int32
Dim lQ As Int32
Dim lKeyCount As Int32
Dim lpState As IntPtr
Dim cbState As Int32
End Structure内容: 圧縮情報。
名前
型
説明
cbSize Int32 サイズ。 dwFlags Int32 0またはICMF_COMPVARS_VALIDを指定します。 hic IntPtr コーデックのハンドル。 fccType Int32 ICTYPE_VIDEOまたは0を指定します。 fccHandler Int32 圧縮ハンドラ。 lpbiIn IntPtr 予約。 lpbiOut IntPtr 出力フォーマット。 lpBitsOut IntPtr 予約。 lpBitsPrev IntPtr 予約。 lFrame Int32 予約。 lKey Int32 キーフレーム。 lDataRate Int32 データレート。 lQ Int32 品質。 lKeyCount Int32 予約。 lpState IntPtr 予約。 cbState Int32 予約。
●定数の一覧
名前:ErrorNo (エラー番号)
名前
内容
NoErr エラーなし。 AVIFileOpenError AVIファイルがオープンできません。 NoCreateFile ファイルが作成できません。 NoCreateAVIFile AVIファイルが作成できません。 ReadFileErr ファイルが読み込めません。 NoAVIFileName AVIファイル名が指定されていません。 NoPictureFileName 画像ファイル名が指定されていません。 NoVideoAVIFileName Video用のAVIファイル名が指定されていません。 NoWaveFileName オーディオ用のWaveファイル名が指定されていません。 NoVideAVIFileOpen Video用AVIファイルがオープンできません。 NoWaveFileOpen オーディオ用Waveファイルがオープンできません。 NoSaveFolder 保存フォルダがありません。 NoConvertImage 指定イメージに変換できません。 NoConvertJPEG JPEGに変換できません。 NoConvertTIFF TIFFに変換できません。 NoConvertBMP ビットマップに変換できません。 NoAVIFileInfo AVIファイル情報が取得できません。 NoGetStream ストリームインターフェイスのアドレスが取得できません。 NoStreamInfo ストリーム情報を取得できません。 NoWaveStreamInfo Wave用ストリーム情報を取得できません。 NoOpenIC コンプレッサハンドルがオープンできません。 NoStreamGetFrameOpen ビデオフレームを解凍する準備ができません。 NoStreamGetFrame 圧縮されたビデオフレームのアドレスが取得できません。 NoImageSize イメージのサイズが取得できません。 NoCreateStream ストリームが作成できません。 NoWaveCreateStream Wave用ストリームが作成できません。 CancelSaveOptions ファイルの保存オプションでキャンセルが選択されました。 SaveOptionsErr ファイルの保存オプションでエラーが発生しました。 NoMakeCompressedStream 圧縮されたストリームの作成に失敗しました。 NoStreamSetFormat フォーマットが設定できません。 NoWaveStreamSetFormat Wave用フォーマットが設定できません。 NoStreamWrite ストリームの書き込みができません。 NoWaveStreamWrite Wave用ストリームの書き込みができません。 NoICCompressGetFormat 圧縮フォーマット情報が取得できません。 NoICSeqCompressFrameStart フレームシーケンスの圧縮が開始できません。 NoICSeqCompressFrameStart2 フレームシーケンスの圧縮が開始できません。 CancelICCompressorChoose コンプレッサを選択するダイアログでキャンセルが選択されました。 NoStreamReadFormatSize フォーマットデータの格納するサイズが取得できません。 NoWaveStreamReadFormatSize Wave用フォーマットデータの格納するサイズが取得できません。 NoStreamReadFormat フォーマットデータが取得できません。 NoWaveStreamReadFormat Wave用フォーマットデータが取得できません。 NoStreamReadSampleCount 読み込むサンプル数が取得できません。 NoWaveStreamReadSampleCount Wave用の読み込むサンプル数が取得できません。 NoStreamRead ストリームからデータの読み込みに失敗しました。 NoWaveStreamRead Wave用ストリームからデータの読み込みに失敗しました。 NoSeqCompressFrame フレームシーケンスの1つのフレームを圧縮できませんでした。 SelectStop 中止しました。 UnKnownErr 不明なエラー。
名前:ICMF_CHOOSE (圧縮用フラグ)
名前
内容
KEYFRAME キーフレームの頻度を入力するためのチェックボックスとエディタボックスを表示します。 DATARATE ムービーのデータレートを入力するためのチェックボックスとエディタボックスを表示します。 PREVIEW プレビューウィンドウが入るようにダイアログボックスを展開するボタンを表示します。
プレビューウィンドウには、ムービーのフレームが現在の設定で圧縮された場合にどう見えるかが表示されます。ALLCOMPRESSORS すべてのコンプレッサが選択リストに表示されます。
このフラグが指定されていない場合は、特定の入力形式を処理できるコンプレッサだけが選択リストに表示されます。
名前:PICTURE_SAVE_STYLE (画像ファイルの種類)
名前
内容
BMP ビットマップ。 JPEG jpeg。 GIF gif。 PNG png。 TIFF tiff。
名前:STREAM_TYPE (ストリームのタイプ)
名前
内容
TYPE_VIDEO Video。 TYPE_AUDIO Audio。 TYPE_MIDI Midi。 TYPE_TEXT Text。
名前:TIFF_COMPRESSION (TIFFの圧縮種類)
名前
内容
NoCompression 圧縮なし。 LZW LZW形式。
●NSDAVIコンストラクタの説明
使用法:Dim ClsPrv_AVI As New NSDAVI
引数:なし。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub End Class
●NSDAVIプロパティの説明
構文:Public Property AVICreateCheckHic() As Boolean
機能:AVIファイル作成時にコンプレッサハンドルの確認を行うかの設定を行います。
引数:なし。
値:Boolean
値の説明:
True :AVIファイル作成時にコンプレッサハンドルが指定されていない場合は、コンプレッサを開きます。(既定値)
False:AVIファイル作成時にコンプレッサハンドルを確認しません。使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try ' 画像ファイルのフォルダ. Dim Str_Folder As String = "" ' <- 画像ファイルフォルダのフルパス名. ' 作成AVIファイル. Dim Str_AviFileName As String = "" ' <- 作成AVIファイル名. ' ストリーム情報を初期化します. Dim Strc_AviStreamInfo As NSDAVI.AVI_STREAMINFO = ClsPrv_AVI.GetDefaultAVISTREAMINFO Do ' folderにあるファイルを取得する. Dim Str_PicFileList As String() Dim Str_ExName As String = "bmp" Dim Int_PicIndex As NSDAVI.PICTURE_SAVE_STYLE = NSDAVI.PICTURE_SAVE_STYLE.BMP Str_PicFileList = System.IO.Directory.GetFiles(Str_Folder, "*." & Str_ExName) If (Str_PicFileList Is Nothing) Then MsgBox("画像ファイルが存在しません。") Exit Do End If ' 画像ファイル名をソートします. Array.Sort(Str_PicFileList) ' 指定された圧縮オプションを使用します. Dim Int_IcmfChoose As NSDAVI.ICMF_CHOOSE Dim Strc_Compvars As NSDAVI.COMPVARS Int_IcmfChoose = NSDAVI.ICMF_CHOOSE.KEYFRAME Or NSDAVI.ICMF_CHOOSE.DATARATE ' 圧縮オプションを指定します. If ClsPrv_AVI.GetCompressOptions( Me.Handle, _ Int_IcmfChoose, _ Strc_Compvars, _ Str_PicFileList(0)) Then ' GetCompressOptionsで設定されるので、コンプレッサハンドルの確認を行わない. ClsPrv_AVI.AVICreateCheckHic = False ' 画像ファイルからAVIファイルを作成します. If ClsPrv_AVI.SetPictureToAVI(Str_PicFileList, _ Int_PicIndex, _ Str_AviFileName, _ Strc_AviStreamInfo, _ Strc_Compvars, _ True) Then MsgBox("AVIファイルを作成しました。") Else MsgBox("AVIファイルの作成に失敗しました。") End If ' リソースを開放します. ClsPrv_AVI.CompressOptionsFree(Strc_Compvars) End If Loop While (0) Catch ex As Exception Finally End Try End Sub End Class
構文:Public Property AVICreatePic4Multiple() As Boolean
機能:AVIファイル作成時に画像の幅、高さを4の倍数に合わせるかの設定を行います。
引数:なし。
値:Boolean
値の説明:
True :AVIファイル作成時に画像の幅、高さを4の倍数に合わせます。(既定値)
False:AVIファイル作成時に画像の幅、高さの調整を行いません。
※コーデックによっては幅、高さが4の倍数でない場合、再生時に正常に再生されない場合があります。使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_Msg As String = "" Select Case ClsPrv_AVI.AVICreatePic4Multiple Case True Str_Msg = "AVIファイル作成時に画像の幅、高さを4の倍数に合わせます。" Case False Str_Msg = "AVIファイル作成時に画像の幅、高さの調整を行いません。" End Select MsgBox("作成時の幅、高さの調整:" & Str_Msg) Catch ex As Exception Finally End Try End Sub End Class
名前:JpegQuality
構文:Public Property JpegQuality() As Integer
機能:JPEGファイル作成時の品質を設定します。
引数:なし。
値:Integer
値の説明:
品質を設定、取得します。(既定値:80)
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try MsgBox("JPEG品質:" & Cstr(ClsPrv_AVI.JpegQuality)) Catch ex As Exception Finally End Try End Sub End Class
構文:Public Property TiffCompression() As TIFF_COMPRESSION
機能:TIFFファイル作成時の圧縮種類を設定します。
引数:なし。
値の説明:
圧縮種類を設定、取得します。(既定値:TIFF_COMPRESSION.NoCompression)
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_Msg As String = "" Select Case ClsPrv_AVI.TiffCompression Case NSDAVI.TIFF_COMPRESSION.NoCompression Str_Msg = "圧縮なし" Case NSDAVI.TIFF_COMPRESSION.LZW Str_Msg = "LZW" End Select MsgBox("TIFFの圧縮:" & Str_Msg) Catch ex As Exception Finally End Try End Sub End Class
構文:Public Property TmpBmpFileSelectPixcelFormat() As Boolean
機能: 一時ファイルで作成するビットマップのPixcelFormatを指定するかを設定します。
※一時ファイルでビットマップを作成する処理は下に示します。
- ビットマップファイル以外をAVIファイルに変換する場合。
- ビットマップファイル以外のファイルフォーマットでAVIファイルから画像ファイルを作成する場合。
- AVIファイル作成時に幅、高さを4の倍数に合わせる場合。
引数:なし。
値:Boolean
値の説明:
True :PixcelFormatを指定します。
False:PixcelFormatを指定しません。(既定値)使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_Msg As String = "" Select Case ClsPrv_AVI.TmpBmpFileSelectPixcelFormat Case True Str_Msg = "PixcelFormatを指定します。" Case False Str_Msg = "PixcelFormatを指定しません。" End Select MsgBox("一時作成テンポラリーBMPファイルのPixcelFormat:" & Str_Msg) Catch ex As Exception Finally End Try End Sub End Class
構文:Public Property TmpBmpFilePixcelFormat() As System.Drawing.Imaging.PixelFormat
機能: 一時ファイルで作成するビットマップのPixcelFormatを指定するかを設定します。
※一時ファイルでビットマップを作成する処理は下に示します。
- ビットマップファイル以外をAVIファイルに変換する場合。
- ビットマップファイル以外のファイルフォーマットでAVIファイルから画像ファイルを作成する場合。
- AVIファイル作成時に幅、高さを4の倍数に合わせる場合。
引数:なし。
値:System.Drawing.Imaging.PixelFormat
値の説明:
System.Drawing.Imaging.PixelFormatを設定、取得します(既定値:Imaging.PixelFormat.Canonical)。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try MsgBox("一時作成テンポラリーBMPファイルのPixcelFormat:" & CStr(ClsPrv_AVI.TmpBmpFilePixcelFormat)) Catch ex As Exception Finally End Try End Sub End Class
名前:IsProcess32
構文:Public ReadOnly Property IsProcess32() AS Boolean
機能: 32ビットのプロセスで実行されているかを返します。
引数:なし。
値:Boolean
値の説明:
True :32bitプロセスで実行されています。
False:32bitプロセスで実行されていません。使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try If ClsPrv_AVI.IsProcess32() Then MsgBox("32ビットプロセスで実行されています。") Else MsgBox("64ビットプロセスで実行されています。") End If Catch ex As Exception Finally End Try End Sub End Class
●NSDAVIメソッドの説明
名前:Dispose
構文:Public Overridable Sub Dispose() Implements IDisposable.Dispose
機能:リソースの開放を行います。
※終了時に必ず呼び出します。
(内部でCls_Dispose()を呼び出しています。終了処理でCls_Dispose()を呼び出している場合は、呼び出す必要はありません。)
引数:なし。
戻り値:なし。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Dispose() Catch ex As Exception Finally End Try End Sub End Class
名前:Cls_Dispose
構文:Public Sub Cls_Dispose()
機能:リソースの開放を行います。
※終了時に必ず呼び出します。
(終了処理でDispose()を呼び出している場合は、呼び出す必要はありません。)
引数:なし。
戻り値:なし。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub End Class
名前:AVIInit
構文:Public Sub AVIInit()
機能:AVIFileライブラリを初期化します。
※AVIExitを呼び出した後に初期化、終了関数以外を呼び出す場合は、AVIInitを他の関数を呼び出す前に呼び出してください。
引数:なし。
戻り値:なし。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try ' AVIFileライブラリを初期化します. ClsPrv_AVI.AVIInit() Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Strc_AVIInfo As NSDAVI.AVI_FILEINFO = Nothing Dim Str_Msg As String = "" If ClsPrv_AVI.GetAVIFileInfo(Str_FileName, Strc_AVIInfo) Then With Strc_AVIInfo Str_Msg &= "近似の最大レート:" & _ CStr(.dwMaxBytesPerSec) & ControlChars.CrLf Str_Msg &= "アプリケーションフラグ:" _ & CStr(.dwFlags) & ControlChars.CrLf Str_Msg &= "機能フラグ:" _ & CStr(.dwCaps) & ControlChars.CrLf Str_Msg &= "ストリーム数:" _ & CStr(.dwStreams) & ControlChars.CrLf Str_Msg &= "ファイル読込の適正バッファサイズ:" _ & CStr(.dwSuggestedBufferSize) & ControlChars.CrLf Str_Msg &= "ビットマップの幅:" _ & CStr(.dwWidth) & ControlChars.CrLf Str_Msg &= "ビットマップの高さ:" _ & CStr(.dwHeight) & ControlChars.CrLf Str_Msg &= "ファイルの時間単位:" _ & CStr(.dwScale) & ControlChars.CrLf Str_Msg &= "ファイルのレート:" _ & CStr(.dwRate) & ControlChars.CrLf Str_Msg &= "ファイルの長さ:" _ & CStr(.dwLength) & ControlChars.CrLf Str_Msg &= "ファイルの編集回数:" _ & CStr(.dwEditCount) & ControlChars.CrLf Str_Msg &= "ファイルタイプの説明:" _ & .szFileType End With Else Str_Msg = "情報の取得に失敗しました。" End If ' AVIFileライブラリを終了します. ClsPrv_AVI.AVIExit() MsgBox(Str_Msg) Catch ex As Exception Finally End Try End Sub End Class
名前:AVIExit
構文:Public Sub AVIExit()
機能:AVIFileライブラリを終了します。
引数:なし。
戻り値:なし。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try ' AVIFileライブラリを初期化します. ClsPrv_AVI.AVIInit() Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Strc_AVIInfo As NSDAVI.AVI_FILEINFO = Nothing Dim Str_Msg As String = "" If ClsPrv_AVI.GetAVIFileInfo(Str_FileName, Strc_AVIInfo) Then With Strc_AVIInfo Str_Msg &= "近似の最大レート:" & _ CStr(.dwMaxBytesPerSec) & ControlChars.CrLf Str_Msg &= "アプリケーションフラグ:" _ & CStr(.dwFlags) & ControlChars.CrLf Str_Msg &= "機能フラグ:" _ & CStr(.dwCaps) & ControlChars.CrLf Str_Msg &= "ストリーム数:" _ & CStr(.dwStreams) & ControlChars.CrLf Str_Msg &= "ファイル読込の適正バッファサイズ:" _ & CStr(.dwSuggestedBufferSize) & ControlChars.CrLf Str_Msg &= "ビットマップの幅:" _ & CStr(.dwWidth) & ControlChars.CrLf Str_Msg &= "ビットマップの高さ:" _ & CStr(.dwHeight) & ControlChars.CrLf Str_Msg &= "ファイルの時間単位:" _ & CStr(.dwScale) & ControlChars.CrLf Str_Msg &= "ファイルのレート:" _ & CStr(.dwRate) & ControlChars.CrLf Str_Msg &= "ファイルの長さ:" _ & CStr(.dwLength) & ControlChars.CrLf Str_Msg &= "ファイルの編集回数:" _ & CStr(.dwEditCount) & ControlChars.CrLf Str_Msg &= "ファイルタイプの説明:" _ & .szFileType End With Else Str_Msg = "情報の取得に失敗しました。" End If ' AVIFileライブラリを終了します. ClsPrv_AVI.AVIExit() MsgBox(Str_Msg) Catch ex As Exception Finally End Try End Sub End Class
構文:Public Function GetAVIFileInfo( FileName , AVIInfo ) As Boolean
機能:AVIファイル情報を取得します。
引数:
名前
型
引数渡しの方法
説明
FileName String 値渡し(ByVal) AVIファイルのフルパス名を渡します。 AVIInfo
参照渡し(ByRef)
ファイル情報を返します。
戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Strc_AVIInfo As NSDAVI.AVI_FILEINFO = Nothing Dim Str_Msg As String = "" If ClsPrv_AVI.GetAVIFileInfo(Str_FileName, Strc_AVIInfo) Then With Strc_AVIInfo Str_Msg &= "近似の最大レート:" & _ CStr(.dwMaxBytesPerSec) & ControlChars.CrLf Str_Msg &= "アプリケーションフラグ:" _ & CStr(.dwFlags) & ControlChars.CrLf Str_Msg &= "機能フラグ:" _ & CStr(.dwCaps) & ControlChars.CrLf Str_Msg &= "ストリーム数:" _ & CStr(.dwStreams) & ControlChars.CrLf Str_Msg &= "ファイル読込の適正バッファサイズ:" _ & CStr(.dwSuggestedBufferSize) & ControlChars.CrLf Str_Msg &= "ビットマップの幅:" _ & CStr(.dwWidth) & ControlChars.CrLf Str_Msg &= "ビットマップの高さ:" _ & CStr(.dwHeight) & ControlChars.CrLf Str_Msg &= "ファイルの時間単位:" _ & CStr(.dwScale) & ControlChars.CrLf Str_Msg &= "ファイルのレート:" _ & CStr(.dwRate) & ControlChars.CrLf Str_Msg &= "ファイルの長さ:" _ & CStr(.dwLength) & ControlChars.CrLf Str_Msg &= "ファイルの編集回数:" _ & CStr(.dwEditCount) & ControlChars.CrLf Str_Msg &= "ファイルタイプの説明:" _ & .szFileType End With Else Str_Msg = "情報の取得に失敗しました。" End If MsgBox(Str_Msg) Catch ex As Exception Finally End Try End Sub End Class
機能:AVIストリーム情報を取得します。
構文:Public Overloads Function GetAVIStremInfo( FileName , AVIStremInfo , ICInfo ) As Boolean
引数:
名前
型
引数渡しの方法
説明
FileName String 値渡し(ByVal) AVIファイルのフルパス名を渡します。 AVIStremInfo AVI_STREAMINFO 参照渡し(ByRef) ストリーム情報を返します。 ICInfo IC_INFO 参照渡し(ByRef) 圧縮情報を返します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Strc_AVIStremInfo As NSDAVI.AVI_STREAMINFO = Nothing Dim Strc_ICInfo As NSDAVI.IC_INFO = Nothing Dim Str_Msg As String = "" If ClsPrv_AVI.GetAVIStremInfo(Str_FileName, _ Strc_AVIStremInfo, _ Strc_ICInfo) Then With Strc_AVIStremInfo Str_Msg &= "ストリーム情報" & ControlChars.CrLf Str_Msg &= "ストリームのタイプ:" & _ CStr(.dwfccType) & "(" & _ ClsPrv_AVI.GetTypeName(.dwfccType) & ")" & ControlChars.CrLf Str_Msg &= "ビデオストリームを保存する圧縮ハンドラ:" & _ CStr(.dwfccHandler) & "(" & _ ClsPrv_AVI.GetTypeName(.dwfccHandler) & ")" & ControlChars.CrLf Str_Msg &= "ストリームフラグ:" & _ CStr(.dwFlags) & ControlChars.CrLf Str_Msg &= "機能フラグ:" & _ CStr(.dwCaps) & ControlChars.CrLf Str_Msg &= "ストリームの優先順位:" & _ CStr(.wPriority) & ControlChars.CrLf Str_Msg &= "ストリームの言語:" & _ CStr(.wLanguage) & ControlChars.CrLf Str_Msg &= "ストリームの時間単位:" & _ CStr(.dwScale) & ControlChars.CrLf Str_Msg &= "ストリームのレート:" & _ CStr(.dwRate) & ControlChars.CrLf Str_Msg &= "AVIファイルの最初のサンプル番号:" & _ CStr(.dwStart) & ControlChars.CrLf Str_Msg &= "ストリームの長さ:" & _ CStr(.dwLength) & ControlChars.CrLf Str_Msg &= "ビデオストリームとオーディオストリームをどの程度すらすかを指定:" & _ CStr(.dwInitialFrames) & ControlChars.CrLf Str_Msg &= "ストリームを読み込むときに適したバッファサイズ:" & _ CStr(.dwSuggestedBufferSize) & ControlChars.CrLf Str_Msg &= "ビデオストリームの品質:" & _ CStr(.dwQuality) & ControlChars.CrLf Str_Msg &= "1データサンプルのバイト数:" & _ CStr(.dwSampleSize) & ControlChars.CrLf Str_Msg &= "矩形Top:" & _ CStr(.rcFrame.Top) & ControlChars.CrLf Str_Msg &= "矩形Left:" & _ CStr(.rcFrame.Left) & ControlChars.CrLf Str_Msg &= "矩形Right:" & _ CStr(.rcFrame.Right) & ControlChars.CrLf Str_Msg &= "矩形Bottom:" & _ CStr(.rcFrame.Bottom) & ControlChars.CrLf Str_Msg &= "ファイルを編集した回数:" & _ CStr(.dwEditCount) & ControlChars.CrLf Str_Msg &= "フォーマットの変更回数:" & _ CStr(.dwFormatChangeCount) & ControlChars.CrLf Str_Msg &= "ストリームの説明:" & _ .szName & ControlChars.CrLf End With With Strc_ICInfo Str_Msg &= ControlChars.CrLf Str_Msg &= "圧縮情報" & ControlChars.CrLf Str_Msg &= "ドライバーのバージョン番号:" & _ CStr(.dwVersion) & ControlChars.CrLf Str_Msg &= "VCMのバージョン番号:" & _ CStr(.dwVersionICM) & ControlChars.CrLf Str_Msg &= "短い圧縮プログラム名:" & _ .szName & ControlChars.CrLf Str_Msg &= "長い圧縮プログラム名:" & _ .szDescription & ControlChars.CrLf Str_Msg &= "VCM圧縮ドライバ:" & _ .szDriver End With Else Str_Msg = "情報の取得に失敗しました。" End If MsgBox(Str_Msg) Catch ex As Exception Finally End Try End Sub End Class
構文:Public Overloads Function GetAVIStremInfo( FileName , AVIStremInfo , IcInfo , StreamType ) As Boolean
引数:
名前
型
引数渡しの方法
説明
FileName String 値渡し(ByVal) AVIファイルのフルパス名を渡します。 AVIStremInfo AVI_STREAMINFO 参照渡し(ByRef) ストリーム情報を返します。 ICInfo IC_INFO 参照渡し(ByRef) 圧縮情報を返します。 StreamType
値渡し(ByVal)
取得するストリームの種類を渡します。
戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Strc_AVIStremInfo As NSDAVI.AVI_STREAMINFO = Nothing Dim Strc_ICInfo As NSDAVI.IC_INFO = Nothing Dim Str_Msg As String = "" If ClsPrv_AVI.GetAVIStremInfo(Str_FileName, _ Strc_AVIStremInfo, _ Strc_ICInfo, _ NSDAVI.STREAM_TYPE.TYPE_VIDEO) Then With Strc_AVIStremInfo Str_Msg &= "ストリーム情報" & ControlChars.CrLf Str_Msg &= "ストリームのタイプ:" & _ CStr(.dwfccType) & "(" & _ ClsPrv_AVI.GetTypeName(.dwfccType) & ")" & ControlChars.CrLf Str_Msg &= "ビデオストリームを保存する圧縮ハンドラ:" & _ CStr(.dwfccHandler) & "(" & _ ClsPrv_AVI.GetTypeName(.dwfccHandler) & ")" & ControlChars.CrLf Str_Msg &= "ストリームフラグ:" & _ CStr(.dwFlags) & ControlChars.CrLf Str_Msg &= "機能フラグ:" & _ CStr(.dwCaps) & ControlChars.CrLf Str_Msg &= "ストリームの優先順位:" & _ CStr(.wPriority) & ControlChars.CrLf Str_Msg &= "ストリームの言語:" & _ CStr(.wLanguage) & ControlChars.CrLf Str_Msg &= "ストリームの時間単位:" & _ CStr(.dwScale) & ControlChars.CrLf Str_Msg &= "ストリームのレート:" & _ CStr(.dwRate) & ControlChars.CrLf Str_Msg &= "AVIファイルの最初のサンプル番号:" & _ CStr(.dwStart) & ControlChars.CrLf Str_Msg &= "ストリームの長さ:" & _ CStr(.dwLength) & ControlChars.CrLf Str_Msg &= "ビデオストリームとオーディオストリームをどの程度すらすかを指定:" & _ CStr(.dwInitialFrames) & ControlChars.CrLf Str_Msg &= "ストリームを読み込むときに適したバッファサイズ:" & _ CStr(.dwSuggestedBufferSize) & ControlChars.CrLf Str_Msg &= "ビデオストリームの品質:" & _ CStr(.dwQuality) & ControlChars.CrLf Str_Msg &= "1データサンプルのバイト数:" & _ CStr(.dwSampleSize) & ControlChars.CrLf Str_Msg &= "矩形Top:" & _ CStr(.rcFrame.Top) & ControlChars.CrLf Str_Msg &= "矩形Left:" & _ CStr(.rcFrame.Left) & ControlChars.CrLf Str_Msg &= "矩形Right:" & _ CStr(.rcFrame.Right) & ControlChars.CrLf Str_Msg &= "矩形Bottom:" & _ CStr(.rcFrame.Bottom) & ControlChars.CrLf Str_Msg &= "ファイルを編集した回数:" & _ CStr(.dwEditCount) & ControlChars.CrLf Str_Msg &= "フォーマットの変更回数:" & _ CStr(.dwFormatChangeCount) & ControlChars.CrLf Str_Msg &= "ストリームの説明:" & _ .szName & ControlChars.CrLf End With With Strc_ICInfo Str_Msg &= ControlChars.CrLf Str_Msg &= "圧縮情報" & ControlChars.CrLf Str_Msg &= "ドライバーのバージョン番号:" & _ CStr(.dwVersion) & ControlChars.CrLf Str_Msg &= "VCMのバージョン番号:" & _ CStr(.dwVersionICM) & ControlChars.CrLf Str_Msg &= "短い圧縮プログラム名:" & _ .szName & ControlChars.CrLf Str_Msg &= "長い圧縮プログラム名:" & _ .szDescription & ControlChars.CrLf Str_Msg &= "VCM圧縮ドライバ:" & _ .szDriver End With Else Str_Msg = "情報の取得に失敗しました。" End If MsgBox(Str_Msg) Catch ex As Exception Finally End Try End Sub End Class
名前:GetTypeName
構文:Public Function GetTypeName( Value ) As String
機能:ストリームのタイプを変換します。
引数:
名前
型
引数渡しの方法
説明
Value Int32 値渡し(ByVal) ストリームのタイプ値を渡します。 戻り値:String
戻り値の説明:
変換した文字列を返します。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Strc_AVIStremInfo As NSDAVI.AVI_STREAMINFO = Nothing Dim Strc_ICInfo As NSDAVI.IC_INFO = Nothing Dim Str_Msg As String = "" If ClsPrv_AVI.GetAVIStremInfo(Str_FileName, _ Strc_AVIStremInfo, _ Strc_ICInfo) Then With Strc_AVIStremInfo Str_Msg &= "ストリーム情報" & ControlChars.CrLf Str_Msg &= "ストリームのタイプ:" & _ CStr(.dwfccType) & "(" & _ ClsPrv_AVI.GetTypeName(.dwfccType) & ")" & ControlChars.CrLf Str_Msg &= "ビデオストリームを保存する圧縮ハンドラ:" & _ CStr(.dwfccHandler) & "(" & _ ClsPrv_AVI.GetTypeName(.dwfccHandler) & ")" & ControlChars.CrLf Str_Msg &= "ストリームフラグ:" & _ CStr(.dwFlags) & ControlChars.CrLf Str_Msg &= "機能フラグ:" & _ CStr(.dwCaps) & ControlChars.CrLf Str_Msg &= "ストリームの優先順位:" & _ CStr(.wPriority) & ControlChars.CrLf Str_Msg &= "ストリームの言語:" & _ CStr(.wLanguage) & ControlChars.CrLf Str_Msg &= "ストリームの時間単位:" & _ CStr(.dwScale) & ControlChars.CrLf Str_Msg &= "ストリームのレート:" & _ CStr(.dwRate) & ControlChars.CrLf Str_Msg &= "AVIファイルの最初のサンプル番号:" & _ CStr(.dwStart) & ControlChars.CrLf Str_Msg &= "ストリームの長さ:" & _ CStr(.dwLength) & ControlChars.CrLf Str_Msg &= "ビデオストリームとオーディオストリームをどの程度すらすかを指定:" & _ CStr(.dwInitialFrames) & ControlChars.CrLf Str_Msg &= "ストリームを読み込むときに適したバッファサイズ:" & _ CStr(.dwSuggestedBufferSize) & ControlChars.CrLf Str_Msg &= "ビデオストリームの品質:" & _ CStr(.dwQuality) & ControlChars.CrLf Str_Msg &= "1データサンプルのバイト数:" & _ CStr(.dwSampleSize) & ControlChars.CrLf Str_Msg &= "矩形Top:" & _ CStr(.rcFrame.Top) & ControlChars.CrLf Str_Msg &= "矩形Left:" & _ CStr(.rcFrame.Left) & ControlChars.CrLf Str_Msg &= "矩形Right:" & _ CStr(.rcFrame.Right) & ControlChars.CrLf Str_Msg &= "矩形Bottom:" & _ CStr(.rcFrame.Bottom) & ControlChars.CrLf Str_Msg &= "ファイルを編集した回数:" & _ CStr(.dwEditCount) & ControlChars.CrLf Str_Msg &= "フォーマットの変更回数:" & _ CStr(.dwFormatChangeCount) & ControlChars.CrLf Str_Msg &= "ストリームの説明:" & _ .szName & ControlChars.CrLf End With With Strc_ICInfo Str_Msg &= ControlChars.CrLf Str_Msg &= "圧縮情報" & ControlChars.CrLf Str_Msg &= "ドライバーのバージョン番号:" & _ CStr(.dwVersion) & ControlChars.CrLf Str_Msg &= "VCMのバージョン番号:" & _ CStr(.dwVersionICM) & ControlChars.CrLf Str_Msg &= "短い圧縮プログラム名:" & _ .szName & ControlChars.CrLf Str_Msg &= "長い圧縮プログラム名:" & _ .szDescription & ControlChars.CrLf Str_Msg &= "VCM圧縮ドライバ:" & _ .szDriver End With Else Str_Msg = "情報の取得に失敗しました。" End If MsgBox(Str_Msg) Catch ex As Exception Finally End Try End Sub End Class
構文:Public Function GetAVIToBMPCount( FileName ) As Integer
機能:AVIファイルからビデオストリームの長さを取得します。
引数:
名前
型
引数渡しの方法
説明
FileName String 値渡し(ByVal) AVIファイルのフルパス名を渡します。 戻り値:Integer
戻り値の説明:
ビデオストリームの長さを返します。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_Msg As String = "ビデオフレーム数:" & _ CStr(ClsPrv_AVI.GetAVIToBMPCount(Str_FileName)) MsgBox(Str_Msg) Catch ex As Exception Finally End Try End Sub End Class
構文:Public Function GetCompressionList() As IC_INFO()
機能:ビデオコーデックのリストを返します。
引数:なし。
戻り値:IC_INFO()
戻り値の説明:
ビデオコーデックのリストを返します。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Strc_IcInfo() As NSDAVI.IC_INFO = ClsPrv_AVI.GetCompressionList() If (Strc_IcInfo Is Nothing) Then MsgBox("インストールされているコーデックが見つかりません。") Else Dim Str_Msg As String = Nothing For Int_Loop As Integer = 0 To Strc_IcInfo.Length - 1 If Not String.IsNullOrEmpty(Str_Msg) Then Str_Msg &= StrDup(20, "-"c) & ControlChars.CrLf End If With Strc_IcInfo(Int_Loop) Str_Msg &= "ストリームのタイプ:" & _ CStr(.fccType) & "(" & _ ClsPrv_AVI.GetTypeName(.fccType) & ")" & _ ControlChars.CrLf Str_Msg &= "圧縮ハンドラ:" & CStr(.fccHandler) & _ "(" & ClsPrv_AVI.GetTypeName(.fccHandler) & ")" & _ ControlChars.CrLf Str_Msg &= "ドライバーのバージョン番号:" & _ CStr(.dwVersion) & ControlChars.CrLf Str_Msg &= "VCMのバージョン番号:" & _ CStr(.dwVersionICM) & ControlChars.CrLf Str_Msg &= "短い圧縮プログラム名:" & _ .szName & ControlChars.CrLf Str_Msg &= "長い圧縮プログラム名:" & _ .szDescription & ControlChars.CrLf Str_Msg &= "VCM圧縮ドライバ:" & _ .szDriver & ControlChars.CrLf End With Next Int_Loop MsgBox(Str_Msg) End If Catch ex As Exception Finally End Try End Sub End Class
機能:AVIファイルから指定フレームを指定画像形式のファイルにします。
@AVIファイルから全フレームを指定画像形式のファイルにします。
構文:Public Overloads Function GetAVIToPicture( AVIFileName , SaveFolder , FileName , Figure , PicStyle ) As Boolean
引数:
名前
型
引数渡しの方法
説明
AVIFileName String 値渡し(ByVal) AVIファイルのフルパス名を渡します。 SaveFolder String 値渡し(ByVal) ファイルを保存するフォルダをフルパス名で渡します。 FileName String 値渡し(ByVal) ファイル名(拡張子なし)を渡します。 Figure Integer 値渡し(ByVal) 連番の桁数を渡します。 PicStyle
値渡し(ByVal)
保存する画像形式を渡します。
戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP If ClsPrv_AVI.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ Str_PicFile, _ 5, _ Int_Picture_Save_Style) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
AAVIファイルから指定フレームを指定画像形式のファイルにします。
構文:Public Overloads Function GetAVIToPicture( AVIFileName , SaveFolder , SelectNo , FileName , PicStyle ) As Boolean
引数:
名前
型
引数渡しの方法
説明
AVIFileName String 値渡し(ByVal) AVIファイルのフルパス名を渡します。 SaveFolder String 値渡し(ByVal) ファイルを保存するフォルダをフルパス名で渡します。 SelectNo Integer 値渡し(ByVal) 指定フレーム番号を渡します。
※先頭のフレーム番号は0です。FileName String 値渡し(ByVal) ファイル名(拡張子なし)を渡します。 PicStyle PICTURE_SAVE_STYLE 値渡し(ByVal) 保存する画像形式を渡します。
戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP If ClsPrv_AVI.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ 0, _ Str_PicFile, _ Int_Picture_Save_Style) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
BAVIファイルから指定範囲のフレームを指定画像形式のファイルにします。
構文:Public Overloads Function GetAVIToPicture( AVIFileName , SaveFolder , StartNo , EndNo , Figure , FileName , PicStyle ) As Boolean
引数:
名前
型
引数渡しの方法
説明
AVIFileName String 値渡し(ByVal) AVIファイルのフルパス名を渡します。 SaveFolder String 値渡し(ByVal) ファイルを保存するフォルダをフルパス名で渡します。 StartNo Integer 値渡し(ByVal) 開始フレーム番号を渡します。
※先頭のフレーム番号は0です。EndNo Integer 値渡し(ByVal) 終了フレーム番号を渡します。
※-1=最終のフレーム番号です。Figure Integer 値渡し(ByVal) 連番の桁数を渡します。 FileName String 値渡し(ByVal) ファイル名(拡張子なし)を渡します。 PicStyle PICTURE_SAVE_STYLE 値渡し(ByVal) 保存する画像形式を渡します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP If ClsPrv_AVI.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ 0, _ -1, _ 5, _ Str_PicFile, _ Int_Picture_Save_Style) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
構文:Public Function GetDefaultAVISTREAMINFO() As AVI_STREAMINFO
機能:ストリーム情報用の構造体を初期化します。
引数:なし。
戻り値:AVI_STREAMINFO
戻り値の説明:
初期化したストリーム情報の構造体を返します。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try ' 画像ファイルのフォルダ. Dim Str_Folder As String = "" ' <- 画像ファイルフォルダのフルパス名. ' 作成AVIファイル. Dim Str_AviFileName As String = "" ' <- 作成AVIファイル名. ' ストリーム情報を初期化します. Dim Strc_AviStreamInfo As NSDAVI.AVI_STREAMINFO = ClsPrv_AVI.GetDefaultAVISTREAMINFO Do ' folderにあるファイルを取得する. Dim Str_PicFileList As String() Dim Str_ExName As String = "bmp" Dim Int_PicIndex As NSDAVI.PICTURE_SAVE_STYLE = NSDAVI.PICTURE_SAVE_STYLE.BMP Str_PicFileList = System.IO.Directory.GetFiles(Str_Folder, "*." & Str_ExName) If (Str_PicFileList Is Nothing) Then MsgBox("画像ファイルが存在しません。") Exit Do End If ' 画像ファイル名をソートします. Array.Sort(Str_PicFileList) Dim Int_MsgNo As Integer = 0 ' 圧縮なし. If ClsPrv_AVI.SetPictureToAVI(Str_PicFileList, Int_PicIndex, Str_AviFileName, Strc_AviStreamInfo, True) Then MsgBox("AVIファイルを作成しました。") Else MsgBox("AVIファイルの作成に失敗しました。") End If Loop While (0) Catch ex As Exception Finally End Try End Sub End Class
機能:画像ファイルからAVIファイルを作成します。
構文:Public Overloads Function SetPictureToAVI( PicFileList() , PicStyle , AVIFileName , AviStreamInfo ) As Boolean
引数:
名前
型
引数渡しの方法
説明
PicFileList() String 値渡し(ByVal) 元の画像ファイルのフルパス名を渡します。 PicStyle PICTURE_SAVE_STYLE 値渡し(ByVal) 画像ファイルの形式を渡します。 AVIFileName String 値渡し(ByVal) 作成するAVIファイルのフルパス名を渡します。 AviStreamInfo AVI_STREAMINFO 値渡し(ByVal) 作成するAVIのストリーム情報を渡します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try ' 画像ファイルのフォルダ. Dim Str_Folder As String = "" ' <- 画像ファイルフォルダのフルパス名. ' 作成AVIファイル. Dim Str_AviFileName As String = "" ' <- 作成AVIファイル名. ' ストリーム情報を初期化します. Dim Strc_AviStreamInfo As NSDAVI.AVI_STREAMINFO = ClsPrv_AVI.GetDefaultAVISTREAMINFO Do ' folderにあるファイルを取得する. Dim Str_PicFileList As String() Dim Str_ExName As String = "bmp" Dim Int_PicIndex As NSDAVI.PICTURE_SAVE_STYLE = NSDAVI.PICTURE_SAVE_STYLE.BMP Str_PicFileList = System.IO.Directory.GetFiles(Str_Folder, "*." & Str_ExName) If (Str_PicFileList Is Nothing) Then MsgBox("画像ファイルが存在しません。") Exit Do End If ' 画像ファイル名をソートします. Array.Sort(Str_PicFileList) Dim Int_MsgNo As Integer = 0 ' 圧縮なし. If ClsPrv_AVI.SetPictureToAVI(Str_PicFileList, Int_PicIndex, Str_AviFileName, Strc_AviStreamInfo) Then MsgBox("AVIファイルを作成しました。") Else MsgBox("AVIファイルの作成に失敗しました。") End If Loop While (0) Catch ex As Exception Finally End Try End Sub End Class
A画像ファイルからAVIファイルを圧縮なしで作成します。
(毎回画像ファイル情報からストリームフォーマットをセットします。)構文:Public Overloads Function SetPictureToAVI( PicFileList() , PicStyle , AVIFileName , AviStreamInfo , SetFormat ) As Boolean
引数:
名前
型
引数渡しの方法
説明
PicFileList() String 値渡し(ByVal) 元の画像ファイルのフルパス名を渡します。 PicStyle PICTURE_SAVE_STYLE 値渡し(ByVal) 画像ファイルの形式を渡します。 AVIFileName String 値渡し(ByVal) 作成するAVIファイルのフルパス名を渡します。 AviStreamInfo AVI_STREAMINFO 値渡し(ByVal) 作成するAVIのストリーム情報を渡します。 SetFormat Boolean 値渡し(ByVal) 必ずTrueを指定します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try ' 画像ファイルのフォルダ. Dim Str_Folder As String = "" ' <- 画像ファイルフォルダのフルパス名. ' 作成AVIファイル. Dim Str_AviFileName As String = "" ' <- 作成AVIファイル名. ' ストリーム情報を初期化します. Dim Strc_AviStreamInfo As NSDAVI.AVI_STREAMINFO = ClsPrv_AVI.GetDefaultAVISTREAMINFO Do ' folderにあるファイルを取得する. Dim Str_PicFileList As String() Dim Str_ExName As String = "bmp" Dim Int_PicIndex As NSDAVI.PICTURE_SAVE_STYLE = NSDAVI.PICTURE_SAVE_STYLE.BMP Str_PicFileList = System.IO.Directory.GetFiles(Str_Folder, "*." & Str_ExName) If (Str_PicFileList Is Nothing) Then MsgBox("画像ファイルが存在しません。") Exit Do End If ' 画像ファイル名をソートします. Array.Sort(Str_PicFileList) Dim Int_MsgNo As Integer = 0 ' 圧縮なし. If ClsPrv_AVI.SetPictureToAVI(Str_PicFileList, Int_PicIndex, Str_AviFileName, Strc_AviStreamInfo, True) Then MsgBox("AVIファイルを作成しました。") Else MsgBox("AVIファイルの作成に失敗しました。") End If Loop While (0) Catch ex As Exception Finally End Try End Sub End Class
B画像ファイルからAVIファイルを圧縮オプション用ダイアログを表示して作成します。
構文:Public Overloads Function SetPictureToAVI( hWnd , PicFileList() , PicStyle , AVIFileName , AviStreamInfo ) As Boolean
引数:
名前
型
引数渡しの方法
説明
hWnd IntPtr 値渡し(ByVal) 親フォームのハンドルを渡します。 PicFileList() String 値渡し(ByVal) 元の画像ファイルのフルパス名を渡します。 PicStyle PICTURE_SAVE_STYLE 値渡し(ByVal) 画像ファイルの形式を渡します。 AVIFileName String 値渡し(ByVal) 作成するAVIファイルのフルパス名を渡します。 AviStreamInfo AVI_STREAMINFO 値渡し(ByVal) 作成するAVIのストリーム情報を渡します。
戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try ' 画像ファイルのフォルダ. Dim Str_Folder As String = "" ' <- 画像ファイルフォルダのフルパス名. ' 作成AVIファイル. Dim Str_AviFileName As String = "" ' <- 作成AVIファイル名. ' ストリーム情報を初期化します. Dim Strc_AviStreamInfo As NSDAVI.AVI_STREAMINFO = ClsPrv_AVI.GetDefaultAVISTREAMINFO Do ' folderにあるファイルを取得する. Dim Str_PicFileList As String() Dim Str_ExName As String = "bmp" Dim Int_PicIndex As NSDAVI.PICTURE_SAVE_STYLE = NSDAVI.PICTURE_SAVE_STYLE.BMP Str_PicFileList = System.IO.Directory.GetFiles(Str_Folder, "*." & Str_ExName) If (Str_PicFileList Is Nothing) Then MsgBox("画像ファイルが存在しません。") Exit Do End If ' 画像ファイル名をソートします. Array.Sort(Str_PicFileList) ' 圧縮オプション用ダイアログを表示します. If ClsPrv_AVI.SetPictureToAVI( Me.Handle, _ Str_PicFileList, _ Int_PicIndex, _ Str_AviFileName, _ Strc_AviStreamInfo) Then MsgBox("AVIファイルを作成しました。") Else MsgBox("AVIファイルの作成に失敗しました。") End If Loop While (0) Catch ex As Exception Finally End Try End Sub End Class
C画像ファイルからAVIファイルを圧縮オプション用ダイアログを表示して作成します。
(毎回画像ファイル情報からストリームフォーマットをセットします。)構文:Public Overloads Function SetPictureToAVI( hWnd , PicFileList() , PicStyle , AVIFileName , AviStreamInfo , SetFormat ) As Boolean
引数:
名前
型
引数渡しの方法
説明
hWnd IntPtr 値渡し(ByVal) 親フォームのハンドルを渡します。 PicFileList() String 値渡し(ByVal) 元の画像ファイルのフルパス名を渡します。 PicStyle PICTURE_SAVE_STYLE 値渡し(ByVal) 画像ファイルの形式を渡します。 AVIFileName String 値渡し(ByVal) 作成するAVIファイルのフルパス名を渡します。 AviStreamInfo AVI_STREAMINFO 値渡し(ByVal) 作成するAVIのストリーム情報を渡します。 SetFormat Boolean 値渡し(ByVal) 必ずTrueを指定します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try ' 画像ファイルのフォルダ. Dim Str_Folder As String = "" ' <- 画像ファイルフォルダのフルパス名. ' 作成AVIファイル. Dim Str_AviFileName As String = "" ' <- 作成AVIファイル名. ' ストリーム情報を初期化します. Dim Strc_AviStreamInfo As NSDAVI.AVI_STREAMINFO = ClsPrv_AVI.GetDefaultAVISTREAMINFO Do ' folderにあるファイルを取得する. Dim Str_PicFileList As String() Dim Str_ExName As String = "bmp" Dim Int_PicIndex As NSDAVI.PICTURE_SAVE_STYLE = NSDAVI.PICTURE_SAVE_STYLE.BMP Str_PicFileList = System.IO.Directory.GetFiles(Str_Folder, "*." & Str_ExName) If (Str_PicFileList Is Nothing) Then MsgBox("画像ファイルが存在しません。") Exit Do End If ' 画像ファイル名をソートします. Array.Sort(Str_PicFileList) ' 圧縮オプション用ダイアログを表示します. If ClsPrv_AVI.SetPictureToAVI( Me.Handle, _ Str_PicFileList, _ Int_PicIndex, _ Str_AviFileName, _ Strc_AviStreamInfo, _ True) Then MsgBox("AVIファイルを作成しました。") Else MsgBox("AVIファイルの作成に失敗しました。") End If Loop While (0) Catch ex As Exception Finally End Try End Sub End Class
D画像ファイルからAVIファイルを圧縮オプションを指定して作成します。
構文:Public Overloads Function SetPictureToAVI( PicFileList() , PicStyle , AVIFileName , AviStreamInfo , Compvars ) As Boolean
引数:
名前
型
引数渡しの方法
説明
PicFileList() String 値渡し(ByVal) 元の画像ファイルのフルパス名を渡します。 PicStyle PICTURE_SAVE_STYLE 値渡し(ByVal) 画像ファイルの形式を渡します。 AVIFileName String 値渡し(ByVal) 作成するAVIファイルのフルパス名を渡します。 AviStreamInfo AVI_STREAMINFO 値渡し(ByVal) 作成するAVIのストリーム情報を渡します。 Compvars COMPVARS 参照渡し(ByRef) 圧縮情報を渡します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try ' 画像ファイルのフォルダ. Dim Str_Folder As String = "" ' <- 画像ファイルフォルダのフルパス名. ' 作成AVIファイル. Dim Str_AviFileName As String = "" ' <- 作成AVIファイル名. ' ストリーム情報を初期化します. Dim Strc_AviStreamInfo As NSDAVI.AVI_STREAMINFO = ClsPrv_AVI.GetDefaultAVISTREAMINFO Do ' folderにあるファイルを取得する. Dim Str_PicFileList As String() Dim Str_ExName As String = "bmp" Dim Int_PicIndex As NSDAVI.PICTURE_SAVE_STYLE = NSDAVI.PICTURE_SAVE_STYLE.BMP Str_PicFileList = System.IO.Directory.GetFiles(Str_Folder, "*." & Str_ExName) If (Str_PicFileList Is Nothing) Then MsgBox("画像ファイルが存在しません。") Exit Do End If ' 画像ファイル名をソートします. Array.Sort(Str_PicFileList) ' 指定された圧縮オプションを使用します. Dim Int_IcmfChoose As NSDAVI.ICMF_CHOOSE Dim Strc_Compvars As NSDAVI.COMPVARS Int_IcmfChoose = NSDAVI.ICMF_CHOOSE.KEYFRAME Or NSDAVI.ICMF_CHOOSE.DATARATE ' 圧縮オプションを指定します. If ClsPrv_AVI.GetCompressOptions( Me.Handle, _ Int_IcmfChoose, _ Strc_Compvars, _ Str_PicFileList(0)) Then ' 画像ファイルからAVIファイルを作成します. If ClsPrv_AVI.SetPictureToAVI(Str_PicFileList, _ Int_PicIndex, _ Str_AviFileName, _ Strc_AviStreamInfo, _ Strc_Compvars) Then MsgBox("AVIファイルを作成しました。") Else MsgBox("AVIファイルの作成に失敗しました。") End If ' リソースを開放します. ClsPrv_AVI.CompressOptionsFree(Strc_Compvars) End If Loop While (0) Catch ex As Exception Finally End Try End Sub End Class
E画像ファイルからAVIファイルを圧縮オプションを指定して作成します。
(毎回画像ファイル情報からストリームフォーマットをセットします。)
※32bitプロセスのみ使用可能です。構文:Public Overloads Function SetPictureToAVI( PicFileList() , PicStyle , AVIFileName , AviStreamInfo , Compvars , SetFormat ) As Boolean
引数:
名前
型
引数渡しの方法
説明
PicFileList() String 値渡し(ByVal) 元の画像ファイルのフルパス名を渡します。 PicStyle PICTURE_SAVE_STYLE 値渡し(ByVal) 画像ファイルの形式を渡します。 AVIFileName String 値渡し(ByVal) 作成するAVIファイルのフルパス名を渡します。 AviStreamInfo AVI_STREAMINFO 値渡し(ByVal) 作成するAVIのストリーム情報を渡します。 Compvars COMPVARS 参照渡し(ByRef) 圧縮情報を渡します。 SetFormat Boolean 値渡し(ByVal) 必ずTrueを指定します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try ' 画像ファイルのフォルダ. Dim Str_Folder As String = "" ' <- 画像ファイルフォルダのフルパス名. ' 作成AVIファイル. Dim Str_AviFileName As String = "" ' <- 作成AVIファイル名. ' ストリーム情報を初期化します. Dim Strc_AviStreamInfo As NSDAVI.AVI_STREAMINFO = ClsPrv_AVI.GetDefaultAVISTREAMINFO Do ' folderにあるファイルを取得する. Dim Str_PicFileList As String() Dim Str_ExName As String = "bmp" Dim Int_PicIndex As NSDAVI.PICTURE_SAVE_STYLE = NSDAVI.PICTURE_SAVE_STYLE.BMP Str_PicFileList = System.IO.Directory.GetFiles(Str_Folder, "*." & Str_ExName) If (Str_PicFileList Is Nothing) Then MsgBox("画像ファイルが存在しません。") Exit Do End If ' 画像ファイル名をソートします. Array.Sort(Str_PicFileList) ' 指定された圧縮オプションを使用します. Dim Int_IcmfChoose As NSDAVI.ICMF_CHOOSE Dim Strc_Compvars As NSDAVI.COMPVARS Int_IcmfChoose = NSDAVI.ICMF_CHOOSE.KEYFRAME Or NSDAVI.ICMF_CHOOSE.DATARATE ' 圧縮オプションを指定します. If ClsPrv_AVI.GetCompressOptions( Me.Handle, _ Int_IcmfChoose, _ Strc_Compvars, _ Str_PicFileList(0)) Then ' 画像ファイルからAVIファイルを作成します. If ClsPrv_AVI.SetPictureToAVI(Str_PicFileList, _ Int_PicIndex, _ Str_AviFileName, _ Strc_AviStreamInfo, _ Strc_Compvars, _ True) Then MsgBox("AVIファイルを作成しました。") Else MsgBox("AVIファイルの作成に失敗しました。") End If ' リソースを開放します. ClsPrv_AVI.CompressOptionsFree(Strc_Compvars) End If Loop While (0) Catch ex As Exception Finally End Try End Sub End Class
構文:Public Function GetCompressOptions( hWnd , IcmfChoose , Compvars , [File] ) As Boolean
機能:圧縮オプションを設定します。
※CompressOptionsFreeで必ずリソースを開放してください。
引数:
名前
型
引数渡しの方法
説明
hWnd IntPtr 値渡し(ByVal) 親ウィンドウのハンドルを渡します。 IcmfChoose ICMF_CHOOSE 値渡し(ByVal) 圧縮用フラグを渡します。 Compvars COMPVARS 参照渡し(ByRef) 圧縮情報を返します。 [File] String 値渡し(ByVal) AVIにセットする先頭画像ファイルのフルパス名を渡します。
(既定値:"")戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try ' 画像ファイルのフォルダ. Dim Str_Folder As String = "" ' <- 画像ファイルフォルダのフルパス名. ' 作成AVIファイル. Dim Str_AviFileName As String = "" ' <- 作成AVIファイル名. ' ストリーム情報を初期化します. Dim Strc_AviStreamInfo As NSDAVI.AVI_STREAMINFO = ClsPrv_AVI.GetDefaultAVISTREAMINFO Do ' folderにあるファイルを取得する. Dim Str_PicFileList As String() Dim Str_ExName As String = "bmp" Dim Int_PicIndex As NSDAVI.PICTURE_SAVE_STYLE = NSDAVI.PICTURE_SAVE_STYLE.BMP Str_PicFileList = System.IO.Directory.GetFiles(Str_Folder, "*." & Str_ExName) If (Str_PicFileList Is Nothing) Then MsgBox("画像ファイルが存在しません。") Exit Do End If ' 画像ファイル名をソートします. Array.Sort(Str_PicFileList) ' 指定された圧縮オプションを使用します. Dim Int_IcmfChoose As NSDAVI.ICMF_CHOOSE Dim Strc_Compvars As NSDAVI.COMPVARS Int_IcmfChoose = NSDAVI.ICMF_CHOOSE.KEYFRAME Or NSDAVI.ICMF_CHOOSE.DATARATE ' 圧縮オプションを指定します. If ClsPrv_AVI.GetCompressOptions( Me.Handle, _ Int_IcmfChoose, _ Strc_Compvars, _ Str_PicFileList(0)) Then ' GetCompressOptionsで設定されるので、コンプレッサハンドルの確認を行わない. ClsPrv_AVI.AVICreateCheckHic = False ' 画像ファイルからAVIファイルを作成します. If ClsPrv_AVI.SetPictureToAVI(Str_PicFileList, _ Int_PicIndex, _ Str_AviFileName, _ Strc_AviStreamInfo, _ Strc_Compvars, _ True) Then MsgBox("AVIファイルを作成しました。") Else MsgBox("AVIファイルの作成に失敗しました。") End If ' リソースを開放します. ClsPrv_AVI.CompressOptionsFree(Strc_Compvars) End If Loop While (0) Catch ex As Exception Finally End Try End Sub End Class
構文:Public Function CompressOptionsFree( Compvars ) As Boolean
機能:GetCompressOptionsで使用したリソースを開放します。
引数:
名前
型
引数渡しの方法
説明
Compvars COMPVARS 参照渡し(ByRef) GetCompressOptionsで使用した圧縮情報を渡します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try ' 画像ファイルのフォルダ. Dim Str_Folder As String = "" ' <- 画像ファイルフォルダのフルパス名. ' 作成AVIファイル. Dim Str_AviFileName As String = "" ' <- 作成AVIファイル名. ' ストリーム情報を初期化します. Dim Strc_AviStreamInfo As NSDAVI.AVI_STREAMINFO = ClsPrv_AVI.GetDefaultAVISTREAMINFO Do ' folderにあるファイルを取得する. Dim Str_PicFileList As String() Dim Str_ExName As String = "bmp" Dim Int_PicIndex As NSDAVI.PICTURE_SAVE_STYLE = NSDAVI.PICTURE_SAVE_STYLE.BMP Str_PicFileList = System.IO.Directory.GetFiles(Str_Folder, "*." & Str_ExName) If (Str_PicFileList Is Nothing) Then MsgBox("画像ファイルが存在しません。") Exit Do End If ' 画像ファイル名をソートします. Array.Sort(Str_PicFileList) ' 指定された圧縮オプションを使用します. Dim Int_IcmfChoose As NSDAVI.ICMF_CHOOSE Dim Strc_Compvars As NSDAVI.COMPVARS Int_IcmfChoose = NSDAVI.ICMF_CHOOSE.KEYFRAME Or NSDAVI.ICMF_CHOOSE.DATARATE ' 圧縮オプションを指定します. If ClsPrv_AVI.GetCompressOptions( Me.Handle, _ Int_IcmfChoose, _ Strc_Compvars, _ Str_PicFileList(0)) Then ' 画像ファイルからAVIファイルを作成します. If ClsPrv_AVI.SetPictureToAVI(Str_PicFileList, _ Int_PicIndex, _ Str_AviFileName, _ Strc_AviStreamInfo, _ Strc_Compvars, _ True) Then MsgBox("AVIファイルを作成しました。") Else MsgBox("AVIファイルの作成に失敗しました。") End If ' リソースを開放します. ClsPrv_AVI.CompressOptionsFree(Strc_Compvars) End If Loop While (0) Catch ex As Exception Finally End Try End Sub End Class
構文:Public Function IsOkCompressOptions( Compvars ) As Boolean
機能: 圧縮オプションがSetPictureToAVIで使用できるかを確認します。
※コーデックのハンドル、コンプレッサ情報、サイズ指定の確認、品質の確認、フラグの確認を行います。
引数:
名前
型
引数渡しの方法
説明
Compvars COMPVARS 値渡し(ByVal) 圧縮オプションを渡します。 戻り値:Boolean
戻り値の説明:
True :使用可能。
False:使用できません(コーデックがインストールされていない場合などが考えられます)。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try ' 画像ファイルのフォルダ. Dim Str_Folder As String = "" ' <- 画像ファイルフォルダのフルパス名. ' 作成AVIファイル. Dim Str_AviFileName As String = "" ' <- 作成AVIファイル名. ' ストリーム情報を初期化します. Dim Strc_AviStreamInfo As NSDAVI.AVI_STREAMINFO = ClsPrv_AVI.GetDefaultAVISTREAMINFO Do ' folderにあるファイルを取得する. Dim Str_PicFileList As String() Dim Str_ExName As String = "bmp" Dim Int_PicIndex As NSDAVI.PICTURE_SAVE_STYLE = NSDAVI.PICTURE_SAVE_STYLE.BMP Str_PicFileList = System.IO.Directory.GetFiles(Str_Folder, "*." & Str_ExName) If (Str_PicFileList Is Nothing) Then MsgBox("画像ファイルが存在しません。") Exit Do End If ' 画像ファイル名をソートします. Array.Sort(Str_PicFileList) ' 指定された圧縮オプションを使用します. Dim Int_IcmfChoose As NSDAVI.ICMF_CHOOSE Dim Strc_Compvars As NSDAVI.COMPVARS Int_IcmfChoose = NSDAVI.ICMF_CHOOSE.KEYFRAME Or NSDAVI.ICMF_CHOOSE.DATARATE ' 圧縮オプションを指定します. If ClsPrv_AVI.GetCompressOptions( Me.Handle, _ Int_IcmfChoose, _ Strc_Compvars, _ Str_PicFileList(0)) Then ' リソースを開放します. ClsPrv_AVI.CompressOptionsFree(Strc_Compvars) If ClsPrv_AVI.IsOkCompressOptions(Strc_Compvars) Then ' CompressOptionsFreeを行っているので、コンプレッサハンドルの確認を行う. ClsPrv_AVI.AVICreateCheckHic = True ' 画像ファイルからAVIファイルを作成します. If ClsPrv_AVI.SetPictureToAVI(Str_PicFileList, _ Int_PicIndex, _ Str_AviFileName, _ Strc_AviStreamInfo, _ Strc_Compvars, _ True) Then MsgBox("AVIファイルを作成しました。") Else MsgBox("AVIファイルの作成に失敗しました。") End If End If End If Loop While (0) Catch ex As Exception Finally End Try End Sub End Class
構文:Public Function UnionVideoAviAndWave( VideoAviFile , WaveFile , NewAviFile ) As Boolean
機能: ビデオ用AVIファイルとオーディオ用Waveファイルを結合します。
引数:
名前
型
引数渡しの方法
説明
VideoAviFile String 値渡し(ByVal) ビデオ用AVIファイルのフルパス名を渡します。 WaveFile String 値渡し(ByVal) オーディオ用Waveファイルのフルパス名を渡します。 NewAviFile String 値渡し(ByVal) 新しく作成するAVIファイルのフルパス名を渡します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_SourceVideoAviFile As String = "" ' <- 画像AVIファイルのフルパス名. Dim Str_SourceWaveFile As String = "" ' <- 音声WAVEファイルのフルパス名. Dim Str_NewAviFile As String = "" ' <- 新規結合AVIファイルのフルパス名. If ClsPrv_AVI.UnionVideoAviAndWave(Str_SourceVideoAviFile, _ Str_SourceWaveFile, _ Str_NewAviFile) Then MsgBox("AVIファイルを結合しました。") Else MsgBox("AVIファイルの結合に失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:GetErrorNo
構文:Public Function GetErrorNo() As ErrorNo
機能:エラー番号を返します。
引数:なし。
戻り値:ErrorNo
戻り値の説明:
エラー番号を返します。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP If ClsPrv_AVI.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ 0, _ -1, _ 5, _ Str_PicFile, _ Int_Picture_Save_Style) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。 エラー番号:" & CStr(ClsPrv_AVI.GetErrorNo())) End If Catch ex As Exception Finally End Try End Sub End Class
名前:GetErrorMsg
構文:Public Function GetErrorMsg() As String
機能:エラーメッセージを返します。
引数:なし。
戻り値:String
戻り値の説明:
エラーメッセージを返します。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP If ClsPrv_AVI.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ 0, _ -1, _ 5, _ Str_PicFile, _ Int_Picture_Save_Style) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。" & ControlChars.CrLf & ClsPrv_AVI.GetErrorMsg()) End If Catch ex As Exception Finally End Try End Sub End Class
●NSDAVIイベントの説明
構文:Public Event GetAVIPictureState( ReadDataNo , TotalDataNo , Stop )
機能:GetAVIPictureで1件データを読み込む前に発生するイベント。
引数:
名前
型
引数渡しの方法
説明
ReadDataNo Integer 値渡し(ByVal) 読み込みデータの番号を返します(0番から開始します)。 TotalDataNo Integer 値渡し(ByVal) データの件数を返します。 Stop
Boolean 参照渡し(ByRef) 取得を中止するかを渡します。
True:中止 False:中止しません(既定値)戻り値:なし。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP ' 1件データ読み込み前のイベントをセット. AddHandler ClsPrv_AVI.GetAVIPictureState, AddressOf GetAVIPictureState ' AVIファイルから画像ファイルを作成します. If ClsPrv_AVI.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ Str_PicFile, _ 5, _ Int_Picture_Save_Style) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。") End If ' 1件データ読み込み前のイベントを解除. RemoveHandler ClsPrv_AVI.GetAVIPictureState, AddressOf GetAVIPictureState Catch ex As Exception Finally End Try End Sub Private Sub GetAVIPictureState(ByVal IntVal_ReadDataNo As Integer, _ ByVal IntVal_TotalDataNo As Integer, _ ByRef BlnRef_Stop As Boolean) Try Dim Str_Msg As String = "データ番号:" & CStr(IntVal_ReadDataNo) Str_Msg &= "/" & CStr(IntVal_TotalDataNo - 1) & ControlChars.CrLf Str_Msg &= "中止しますか?" If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then ' 中止します. BlnRef_Stop = True End If Catch ex As Exception Finally End Try End Sub End Class
構文:Public Event SetPictureToAVIState( SetDataNo , Stop )
機能:SetPictureToAVIで1件データを書き込む前に発生するイベント。
引数:
名前
型
引数渡しの方法
説明
SetDataNo Integer 値渡し(ByVal) 書き込みデータの番号を返します(0番から開始します)。 Stop
Boolean 参照渡し(ByRef) AVIファイルの作成を中止するかを渡します。
True:中止 False:中止しません(既定値)戻り値:なし。
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを開放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try ' 画像ファイルのフォルダ. Dim Str_Folder As String = "" ' <- 画像ファイルフォルダのフルパス名. ' 作成AVIファイル. Dim Str_AviFileName As String = "" ' <- 作成AVIファイル名. ' ストリーム情報を初期化します. Dim Strc_AviStreamInfo As NSDAVI.AVI_STREAMINFO = ClsPrv_AVI.GetDefaultAVISTREAMINFO Do ' folderにあるファイルを取得する. Dim Str_PicFileList As String() Dim Str_ExName As String = "bmp" Dim Int_PicIndex As NSDAVI.PICTURE_SAVE_STYLE = NSDAVI.PICTURE_SAVE_STYLE.BMP Str_PicFileList = System.IO.Directory.GetFiles(Str_Folder, "*." & Str_ExName) If (Str_PicFileList Is Nothing) Then MsgBox("画像ファイルが存在しません。") Exit Do End If ' 画像ファイル名をソートします. Array.Sort(Str_PicFileList) Dim Int_MsgNo As Integer = 0 ' 1件書き込み前のイベントをセット. AddHandler ClsPrv_AVI.SetPictureToAVIState, AddressOf SetPictureToAVIState ' 圧縮なし. If ClsPrv_AVI.SetPictureToAVI(Str_PicFileList, Int_PicIndex, Str_AviFileName, Strc_AviStreamInfo) Then MsgBox("AVIファイルを作成しました。") Else MsgBox("AVIファイルの作成に失敗しました。") End If ' 1件書き込み前のイベントを解除. RemoveHandler ClsPrv_AVI.SetPictureToAVIState, AddressOf SetPictureToAVIState Loop While (0) Catch ex As Exception Finally End Try End Sub Private Sub SetPictureToAVIState(ByVal IntVal_SetDataNo As Integer, ByRef BlnRef_Stop As Boolean) Try Dim Str_Msg As String = "データ番号:" & CStr(IntVal_SetDataNo) & ControlChars.CrLf Str_Msg &= "中止しますか?" If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then BlnRef_Stop = True End If Catch ex As Exception Finally End Try End Sub End Class
Copyright (C) 2009-2010 Nihon System Developer Corp. All Rights Reserved.