AudRecordLib
|
00001 00005 import "unknwn.idl"; 00006 import "wtypes.idl"; 00007 cpp_quote("struct IWMWriterSink;") 00008 00009 interface IAudRecord; 00010 interface IWMWriterSink; 00011 00013 typedef struct _AudRecordStats 00014 { 00016 ULONGLONG qwSampleCount; 00018 ULONGLONG qwByteCount; 00020 ULONGLONG qwDroppedSampleCount; 00022 ULONGLONG qwDroppedByteCount; 00024 DWORD dwCurrentBitrate; 00026 DWORD dwAverageBitrate; 00028 DWORD dwExpectedBitrate; 00030 DWORD dwCurrentSampleRate; 00032 DWORD dwAverageSampleRate; 00034 DWORD dwExpectedSampleRate; 00035 } AudRecordStats; 00036 00038 typedef enum _AudPausedState 00039 { 00041 AudPaused = 0, 00043 AudRecording = 1 00044 } AudPausedState; 00045 00051 [ 00052 object, 00053 uuid("57C2DFCA-7A3A-4362-8C3A-A174F4045582"), 00054 local 00055 ] 00056 interface IAudRecord : IUnknown 00057 { 00069 HRESULT Record([in]struct _Endpoint* pDevice); 00070 00081 HRESULT ChangeCodec([in]struct _CodecConfiguration* pNewCodec); 00082 00093 HRESULT TogglePause([out, retval]AudPausedState* pState); 00094 00101 HRESULT QueryPause([out, retval]AudPausedState* pState); 00102 00109 HRESULT Stop(); 00110 00121 HRESULT AddFileTarget([in]LPCWSTR pwszFileName, [out]PVOID* ppCookie); 00122 00135 HRESULT AddNetworkBroadcastTarget([in, out]DWORD* pPort, [in]DWORD maxConnectors, [out]LPWSTR* ppwszUrl, [out]PVOID* ppCookie); 00136 00143 HRESULT AddCustomTarget([in]IWMWriterSink* pTarget, [out]PVOID* ppCookie); 00144 00155 HRESULT RemoveTarget([in]PVOID pTargetCookie); 00156 00162 HRESULT GetStatistics([out]AudRecordStats* pStats); 00163 }