Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than avifil32, prefix the name with the module name and a period.
AVIStreamReadFormat (avifil32)
.
C# Signature:
[DllImport("avifil32.dll")]
static extern int AVIStreamReadFormat(IntPtr pavi, int lPos, out WAVEFORMATEX lpFormat, out int lpcbFormat);
VB Signature:
'Read the format for a Video stream
<DllImport("avifil32.dll", entrypoint:="AVIStreamReadFormat")> _
Public Shared Function AVIStreamReadFormat(ByVal aviStream As IntPtr,
ByVal lPos As Int32,
ByRef lpFormat As BITMAPINFOHEADER,
ByRef cbFormat As Int32) As Integer
End Function
'Read the format for a audio stream
<DllImport("avifil32.dll")> _
Public Shared Function AVIStreamReadFormat(ByVal aviStream As IntPtr,
ByVal lPos As Int32,
ByRef lpFormat As PCMWAVEFORMAT,
ByRef cbFormat As Int32) As Integer
End Function
VB Structure:
Public Structure BITMAPINFOHEADER
Public biSize As Int32
Public biWidth As Int32
Public biHeight As Int32
Public biPlanes As Int16
Public biBitCount As Int16
'<MarshalAs(UnmanagedType.ByValArray, SizeConst:=4)> Public biCompression As Char() ' for recup directly char (string) FOURCC
Public biCompression As Int32
Public biSizeImage As Int32
Public biXPelsPerMeter As Int32
Public biYPelsPerMeter As Int32
Public biClrUsed As Int32
Public biClrImportant As Int32
End Structure
Public Structure PCMWAVEFORMAT
Public wFormatTag As Short
Public nChannels As Short
Public nSamplesPerSec As Integer
Public nAvgBytesPerSec As Integer
Public nBlockAlign As Short
Public wBitsPerSample As Short
Public cbSize As Short
End Structure
VB BITMAPINFOHEADER Warning
Public Shared Function AVIStreamReadFormat2(ByVal aviStream As IntPtr, ByVal lPos As Int32, ByRef lpFormat As BITMAPINFOHEADER, ByRef cbFormat As Int32) As Integer
Dim hr As Integer = AVIStreamReadFormat(aviStream, lPos, lpFormat, cbFormat)
If lpFormat.biBitCount > 24 Then
lpFormat.biBitCount = 32
ElseIf lpFormat.biBitCount > 16 Then
lpFormat.biBitCount = 24
ElseIf lpFormat.biBitCount > 8 Then
lpFormat.biBitCount = 16
ElseIf lpFormat.biBitCount > 4 Then
lpFormat.biBitCount = 8
ElseIf lpFormat.biBitCount > 0 Then
lpFormat.biBitCount = 4
End If
Return hr
End Function
Alternative Managed API:
Do you know one? Please contribute it!
Notes:
None.
Tips & Tricks:
Please add some!
Sample Code:
Please add some!
The AVIStreamReadFormat function reads the stream format data.
3/17/2011 6:39:05 PM - -82.233.47.168
Please edit this page!
Do you have...
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).