mirror of
https://github.com/Gigaslav/HL2Overcharged.git
synced 2026-09-21 20:15:06 +03:00
Init comit
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,37 @@
|
||||
Type=Exe
|
||||
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#..\..\..\..\..\..\..\..\WINNT\System32\stdole2.tlb#OLE Automation
|
||||
Reference=*\G{21D6D480-A88B-11D0-83DD-00AA003CCABD}#1.0#0#..\..\..\..\..\..\..\..\WINNT\System32\tapi3.dll#Microsoft TAPI 3.0 Type Library
|
||||
Reference=*\G{C866CA3A-32F7-11D2-9602-00C04F8EE628}#5.0#0#..\..\..\..\..\sapi\sapi\objd\i386\sapi.dll#Microsoft Speech Object Library
|
||||
Reference=*\G{EDAEECD8-0D75-499E-9B69-187ACACF2C05}#1.0#0#..\..\..\cpp\tapicustomstream\objd\i386\STCustomStream.dll#STCustomStream 1.0 Type Library
|
||||
Form=VBOutgoingcall.frm
|
||||
ResFile32="VBOutGoingCall.RES"
|
||||
Startup="Form1"
|
||||
ExeName32="VBOutGoingCall.exe"
|
||||
Command32=""
|
||||
Name="VBOutGoingCall"
|
||||
HelpContextID="0"
|
||||
CompatibleMode="0"
|
||||
MajorVer=1
|
||||
MinorVer=0
|
||||
RevisionVer=0
|
||||
AutoIncrementVer=0
|
||||
ServerSupportFiles=0
|
||||
VersionCompanyName="Microsoft Corp."
|
||||
CompilationType=0
|
||||
OptimizationType=0
|
||||
FavorPentiumPro(tm)=0
|
||||
CodeViewDebugInfo=0
|
||||
NoAliasing=0
|
||||
BoundsCheck=0
|
||||
OverflowCheck=0
|
||||
FlPointCheck=0
|
||||
FDIVCheck=0
|
||||
UnroundedFP=0
|
||||
StartMode=0
|
||||
Unattended=0
|
||||
Retained=0
|
||||
ThreadPerObject=0
|
||||
MaxNumberOfThreads=1
|
||||
|
||||
[MS Transaction Server]
|
||||
AutoRefresh=1
|
||||
@@ -0,0 +1,469 @@
|
||||
VERSION 5.00
|
||||
Begin VB.Form Form1
|
||||
BorderStyle = 1 'Fixed Single
|
||||
Caption = "VB Outgoing Call"
|
||||
ClientHeight = 3555
|
||||
ClientLeft = 150
|
||||
ClientTop = 720
|
||||
ClientWidth = 6105
|
||||
LinkTopic = "Form1"
|
||||
MaxButton = 0 'False
|
||||
MinButton = 0 'False
|
||||
ScaleHeight = 3555
|
||||
ScaleWidth = 6105
|
||||
StartUpPosition = 3 'Windows Default
|
||||
Begin VB.TextBox Text1
|
||||
Height = 1815
|
||||
Left = 240
|
||||
MultiLine = -1 'True
|
||||
ScrollBars = 2 'Vertical
|
||||
TabIndex = 1
|
||||
Text = "VBOutgoingcall.frx":0000
|
||||
Top = 840
|
||||
Width = 4455
|
||||
End
|
||||
Begin VB.ComboBox DestAddressCombo
|
||||
Height = 315
|
||||
Left = 1320
|
||||
TabIndex = 0
|
||||
Top = 240
|
||||
Width = 3375
|
||||
End
|
||||
Begin VB.CommandButton DisconnectBtn
|
||||
Caption = "Disconnect"
|
||||
Height = 450
|
||||
Left = 4920
|
||||
TabIndex = 4
|
||||
Top = 1320
|
||||
Width = 1000
|
||||
End
|
||||
Begin VB.CommandButton CallBtn
|
||||
Caption = "Dial"
|
||||
Height = 450
|
||||
Left = 4920
|
||||
TabIndex = 2
|
||||
Top = 240
|
||||
Width = 1000
|
||||
End
|
||||
Begin VB.Label Label1
|
||||
Caption = "Internet Call"
|
||||
Height = 255
|
||||
Left = 240
|
||||
TabIndex = 6
|
||||
Top = 240
|
||||
Width = 975
|
||||
End
|
||||
Begin VB.Label TitleLbl
|
||||
Caption = "Call Status:"
|
||||
Height = 255
|
||||
Left = 120
|
||||
TabIndex = 5
|
||||
Top = 3000
|
||||
Width = 855
|
||||
End
|
||||
Begin VB.Label StatusLbl
|
||||
Height = 375
|
||||
Left = 1080
|
||||
TabIndex = 3
|
||||
Top = 3000
|
||||
Width = 3495
|
||||
End
|
||||
Begin VB.Menu menuFile
|
||||
Caption = "File"
|
||||
Begin VB.Menu menuFileExit
|
||||
Caption = "Exit"
|
||||
End
|
||||
End
|
||||
Begin VB.Menu menuHelp
|
||||
Caption = "Help"
|
||||
Begin VB.Menu menuAbout
|
||||
Caption = "About"
|
||||
End
|
||||
End
|
||||
End
|
||||
Attribute VB_Name = "Form1"
|
||||
Attribute VB_GlobalNameSpace = False
|
||||
Attribute VB_Creatable = False
|
||||
Attribute VB_PredeclaredId = True
|
||||
Attribute VB_Exposed = False
|
||||
'=============================================================================
|
||||
'
|
||||
' This VB Speech Telephony App sample demonstrates how to use SAPI TTS
|
||||
' functionalities to speech enable the TAPI apps. The main objects used
|
||||
' here are SAPI SpVoice, TAPI object, and custom real time audio object
|
||||
' STCUSTOMSTREAMLib.TTSStream
|
||||
'
|
||||
'=============================================================================
|
||||
Option Explicit
|
||||
|
||||
Dim WithEvents gObjTapiWithEvents As TAPI
|
||||
Attribute gObjTapiWithEvents.VB_VarHelpID = -1
|
||||
Dim WithEvents gObjVoice As SpVoice
|
||||
Attribute gObjVoice.VB_VarHelpID = -1
|
||||
Dim gObjTapi As TAPI
|
||||
Dim gobjAddress As ITAddress
|
||||
Dim objCallControl As ITBasicCallControl
|
||||
Dim AddressTypeSelected As Long
|
||||
Dim MemStream As SpMemoryStream
|
||||
Dim bConnectionStatus As Boolean
|
||||
Const VFW_E_NOT_COMMITTED = &H80040211 'DirectShow Error :Cannot allocate a sample when the allocator is not active
|
||||
|
||||
Const TAPI3_ALL_TAPI_EVENTS = _
|
||||
TE_ACDGROUP Or _
|
||||
TE_ADDRESS Or _
|
||||
TE_AGENT Or _
|
||||
TE_AGENTHANDLER Or _
|
||||
TE_AGENTSESSION Or _
|
||||
TE_CALLHUB Or _
|
||||
TE_CALLINFOCHANGE Or _
|
||||
TE_CALLMEDIA Or _
|
||||
TE_CALLNOTIFICATION Or _
|
||||
TE_CALLSTATE Or _
|
||||
TE_DIGITEVENT Or _
|
||||
TE_GENERATEEVENT Or _
|
||||
TE_PRIVATE Or _
|
||||
TE_QOSEVENT Or _
|
||||
TE_QUEUE Or _
|
||||
TE_REQUEST Or _
|
||||
TE_TAPIOBJECT
|
||||
Private Sub menuAbout_Click()
|
||||
MsgBox "VB Outgoing Call App" & vbCrLf & vbCrLf & "Copyright (c) 2001 Microsoft Corporation. All rights reserved.", _
|
||||
vbOKOnly Or vbInformation, "VB Outgoing Call"
|
||||
End Sub
|
||||
|
||||
Private Sub menuFileExit_Click()
|
||||
Unload Me
|
||||
End Sub
|
||||
|
||||
Private Sub CallBtn_Click()
|
||||
StatusLbl.Caption = _
|
||||
"Dial ..."
|
||||
StatusLbl.Refresh
|
||||
DisconnectBtn.Enabled = True
|
||||
Call MakeTheCall
|
||||
End Sub
|
||||
|
||||
Private Sub DisconnectBtn_Click()
|
||||
|
||||
Dim strMsg As String
|
||||
|
||||
If objCallControl Is Nothing Then
|
||||
strMsg = "Already disconnected."
|
||||
StatusLbl.Caption = strMsg
|
||||
StatusLbl.Refresh
|
||||
Else
|
||||
objCallControl.Disconnect (DC_NORMAL)
|
||||
|
||||
'Since the call has been disconnected, disable the Disconnect button
|
||||
DisconnectBtn.Enabled = False
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Form_Load()
|
||||
Dim strMsg As String
|
||||
Dim objcollAddress As ITCollection
|
||||
Dim nAddressIndex As Long
|
||||
|
||||
'Initialize Sapi
|
||||
Set gObjVoice = New SpVoice
|
||||
|
||||
'Create a Tapi object
|
||||
Set gObjTapi = New TAPI
|
||||
|
||||
'Initialize TAPI. this must be called before
|
||||
'any other tapi functions are called.
|
||||
Call gObjTapi.Initialize
|
||||
|
||||
'set the EventFilter to accept all defined tapi events
|
||||
gObjTapi.EventFilter = TAPI3_ALL_TAPI_EVENTS
|
||||
|
||||
Set gObjTapiWithEvents = gObjTapi
|
||||
|
||||
Call IpAddressOpt
|
||||
|
||||
'Load a good bye wave file and write it to the SpMemoryStream
|
||||
Dim WaveData As Variant
|
||||
WaveData = LoadResData("WAVEFILE", "CUSTOM")
|
||||
|
||||
Set MemStream = New SpMemoryStream
|
||||
MemStream.SetData WaveData
|
||||
|
||||
'Disable the button right now. It will be enabled after the connection
|
||||
DisconnectBtn.Enabled = False
|
||||
|
||||
'There is no connection right now
|
||||
bConnectionStatus = False
|
||||
End Sub
|
||||
|
||||
Private Sub Form_Unload(Cancel As Integer)
|
||||
|
||||
If bConnectionStatus Then
|
||||
MsgBox "The application is busy. Cannot exit now. Please try to disconnect first"
|
||||
'do not exit the app
|
||||
Cancel = True
|
||||
Else
|
||||
'shut down tapi and release global objects
|
||||
If Not (gObjTapi Is Nothing) Then
|
||||
gObjTapi.Shutdown
|
||||
End If
|
||||
Set objCallControl = Nothing
|
||||
Set gobjAddress = Nothing
|
||||
Set gObjTapi = Nothing
|
||||
Set MemStream = Nothing
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub FindAnAddress(AddressTypeSelected As Long)
|
||||
Dim Address As ITAddress
|
||||
Dim AddressCaps As ITAddressCapabilities
|
||||
Dim lType As Long
|
||||
Dim MediaSupport As ITMediaSupport
|
||||
|
||||
For Each Address In gObjTapi.Addresses
|
||||
|
||||
'query for ITAddressCapabilities
|
||||
Set AddressCaps = Address
|
||||
lType = AddressCaps.AddressCapability(AC_ADDRESSTYPES)
|
||||
Set AddressCaps = Nothing
|
||||
|
||||
'is the type we are looking for?
|
||||
If lType And AddressTypeSelected Then
|
||||
If AddressSupportsMediaType(Address, TAPIMEDIATYPE_AUDIO) Then
|
||||
If Len(Address.AddressName) <> 0 Then
|
||||
'save to global variable
|
||||
Set gobjAddress = Address
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
Set Address = Nothing
|
||||
|
||||
Next
|
||||
|
||||
End Sub
|
||||
|
||||
Private Function AddressSupportsMediaType(Address As ITAddress, lType As Long) As Boolean
|
||||
|
||||
Dim bType As Boolean
|
||||
Dim pMediaSupport As ITMediaSupport
|
||||
bType = False
|
||||
|
||||
'Check whether the service provider associated with the current address
|
||||
'supports the media type, lType
|
||||
|
||||
Set pMediaSupport = Address
|
||||
If pMediaSupport Is Nothing Then
|
||||
bType = False
|
||||
Else
|
||||
bType = pMediaSupport.QueryMediaType(lType)
|
||||
End If
|
||||
|
||||
Set pMediaSupport = Nothing
|
||||
AddressSupportsMediaType = bType
|
||||
End Function
|
||||
|
||||
Private Sub SelectTerminalsOnCall()
|
||||
Dim objStreamControl As ITStreamControl
|
||||
Set objStreamControl = objCallControl
|
||||
|
||||
If Not (objStreamControl Is Nothing) Then
|
||||
Dim objITCollStreams As ITCollection
|
||||
Dim nIndex As Long, objCrtStream As ITStream
|
||||
Dim objTerminalSupport As ITTerminalSupport
|
||||
|
||||
Set objITCollStreams = objStreamControl.Streams
|
||||
Set objTerminalSupport = gobjAddress
|
||||
|
||||
'Create a media streaming terminal and select the capture stream for the SAPI/TTS
|
||||
'audio output
|
||||
Dim objTerminal As ITTerminal
|
||||
Dim MediaStreamTerminalClsid As String
|
||||
MediaStreamTerminalClsid = "{E2F7AEF7-4971-11D1-A671-006097C9A2E8}"
|
||||
|
||||
For nIndex = 1 To objITCollStreams.Count
|
||||
Set objCrtStream = objITCollStreams.Item(nIndex)
|
||||
|
||||
|
||||
If (objCrtStream.Direction = TD_CAPTURE) Then
|
||||
Set objTerminal = objTerminalSupport.CreateTerminal( _
|
||||
MediaStreamTerminalClsid, objCrtStream.MediaType, objCrtStream.Direction)
|
||||
|
||||
Call objCrtStream.SelectTerminal(objTerminal)
|
||||
End If
|
||||
Set objCrtStream = Nothing
|
||||
Next nIndex
|
||||
|
||||
''''''''''''''
|
||||
''USE SAPI TTS
|
||||
''''''''''''''
|
||||
Dim CustomStream As New SpCustomStream
|
||||
Dim SapiTapiTTSStream As STCUSTOMSTREAMLib.TTSStream
|
||||
|
||||
'Create the TTSStream object
|
||||
Set SapiTapiTTSStream = New STCUSTOMSTREAMLib.TTSStream
|
||||
|
||||
'Initialize the TTSStream object
|
||||
SapiTapiTTSStream.InitTTSCaptureStream objTerminal
|
||||
|
||||
'Set the TTSStream object as a BaseStream in the SAPI CustomStream object
|
||||
Set CustomStream.BaseStream = SapiTapiTTSStream
|
||||
|
||||
'Use the current format and prevent the SAPI object from changing it
|
||||
gObjVoice.AllowAudioOutputFormatChangesOnNextSet = False
|
||||
|
||||
'Set the audio output to the SAPI CustomStream
|
||||
Set gObjVoice.AudioOutputStream = CustomStream
|
||||
|
||||
'release not needed objects
|
||||
Set SapiTapiTTSStream = Nothing
|
||||
Set CustomStream = Nothing
|
||||
Set objTerminalSupport = Nothing
|
||||
Set objITCollStreams = Nothing
|
||||
Set objStreamControl = Nothing
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub MakeTheCall()
|
||||
Dim lMediaType As Long
|
||||
|
||||
If (AddressSupportsMediaType(gobjAddress, TAPIMEDIATYPE_AUDIO)) Then
|
||||
|
||||
lMediaType = TAPIMEDIATYPE_AUDIO + lMediaType
|
||||
End If
|
||||
|
||||
Set objCallControl = gobjAddress.CreateCall(DestAddressCombo.Text, _
|
||||
AddressTypeSelected, lMediaType)
|
||||
|
||||
|
||||
Call SelectTerminalsOnCall
|
||||
|
||||
|
||||
'connect
|
||||
On Error GoTo ErrHandler
|
||||
objCallControl.Connect False
|
||||
On Error GoTo 0
|
||||
|
||||
ErrHandler:
|
||||
If Err.Number = -2147221492 Then
|
||||
MsgBox "Connection failed. Is the domain name or the IP Address correct?"
|
||||
StatusLbl.Caption = "Connection failed."
|
||||
DisconnectBtn.Enabled = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub gobjTapiWithEvents_Event(ByVal TapiEvent As TAPI3Lib.TAPI_EVENT, ByVal pEvent As Object)
|
||||
|
||||
Dim strMsg
|
||||
|
||||
Select Case TapiEvent
|
||||
Case TE_CALLNOTIFICATION
|
||||
|
||||
Case TE_CALLSTATE
|
||||
|
||||
'for this type of event, the object pEvent must be
|
||||
'queried for its ITCallStateEvent interface
|
||||
Dim objCallStateEvent As ITCallStateEvent
|
||||
Set objCallStateEvent = pEvent
|
||||
|
||||
Dim State As CALL_STATE
|
||||
State = objCallStateEvent.State
|
||||
|
||||
DisplayCallState (State)
|
||||
Set objCallStateEvent = Nothing
|
||||
|
||||
Case TE_CALLMEDIA
|
||||
Dim MediaEvent As ITCallMediaEvent
|
||||
Set MediaEvent = pEvent
|
||||
|
||||
Select Case MediaEvent.Event
|
||||
Case CME_STREAM_ACTIVE
|
||||
|
||||
On Error GoTo ErrorHandler
|
||||
'prompt greetings
|
||||
If (Text1.Text = "") Then
|
||||
gObjVoice.Speak "Hello"
|
||||
gObjVoice.Speak "Welcome to the Speech and Telephony API app. Have a nice day! Bye now", SVSFlagsAsync
|
||||
|
||||
Else
|
||||
gObjVoice.Speak Text1.Text, SVSFlagsAsync
|
||||
End If
|
||||
|
||||
'Wait until the speak completes
|
||||
Do
|
||||
DoEvents
|
||||
Loop Until gObjVoice.WaitUntilDone(1) = True
|
||||
|
||||
|
||||
MemStream.Seek 0, SSSPTRelativeToStart
|
||||
gObjVoice.SpeakStream MemStream
|
||||
|
||||
DisconnectBtn_Click
|
||||
End Select
|
||||
End Select
|
||||
Exit Sub
|
||||
|
||||
ErrorHandler:
|
||||
If Err.Number = VFW_E_NOT_COMMITTED Then
|
||||
StatusLbl.Caption = "The connection was lost. Disconnecting ..."
|
||||
StatusLbl.Refresh
|
||||
DisconnectBtn_Click
|
||||
Else
|
||||
MsgBox "Error occurs: " & Err.Description & Err.Number
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub DisplayCallState(State As CALL_STATE)
|
||||
Dim strMsg As String
|
||||
|
||||
'Display the current call status
|
||||
Select Case State
|
||||
Case CS_CONNECTED
|
||||
'The app is connected so we set the connection status to true
|
||||
bConnectionStatus = True
|
||||
StatusLbl.Caption = "CS_CONNECTED"
|
||||
|
||||
Case CS_DISCONNECTED
|
||||
DisconnectBtn_Click
|
||||
'The app is disconnected so we set the connection status to false
|
||||
bConnectionStatus = False
|
||||
StatusLbl.Caption = "CS_DISCONNECTED"
|
||||
|
||||
Case CS_HOLD
|
||||
StatusLbl.Caption = " CS_HOLD"
|
||||
|
||||
Case CS_IDLE
|
||||
StatusLbl.Caption = "CS_IDLE"
|
||||
|
||||
Case CS_INPROGRESS
|
||||
StatusLbl.Caption = "CS_INPROGRESS"
|
||||
|
||||
Case CS_OFFERING
|
||||
StatusLbl.Caption = "CS_OFFERING"
|
||||
|
||||
Case CS_QUEUED
|
||||
StatusLbl.Caption = "CS_QUEUED"
|
||||
|
||||
Case Else
|
||||
StatusLbl.Caption = "Unknown!!"
|
||||
End Select
|
||||
|
||||
StatusLbl.Refresh
|
||||
End Sub
|
||||
|
||||
Private Sub IpAddressOpt()
|
||||
AddressTypeSelected = LINEADDRESSTYPE_DOMAINNAME
|
||||
FindAnAddress AddressTypeSelected
|
||||
|
||||
'The app only supports the Internet call. You can add your interest IP
|
||||
'addresses or machine names here programmatically or simply add them in the
|
||||
'Properties of the DestAddressCombo ComBobox.
|
||||
|
||||
DestAddressCombo.Text = "<Machine Name> or IP address"
|
||||
If Not (gobjAddress Is Nothing) Then
|
||||
StatusLbl.Caption = "Using " & gobjAddress.AddressName
|
||||
End If
|
||||
StatusLbl.Refresh
|
||||
End Sub
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
GWelcome to the Speech and Telephony API app. Have a nice day! Bye now
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,40 @@
|
||||
Type=Exe
|
||||
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#..\..\..\..\..\..\..\..\WINNT\System32\stdole2.tlb#OLE Automation
|
||||
Reference=*\G{C866CA3A-32F7-11D2-9602-00C04F8EE628}#5.0#0#..\..\..\..\..\sapi\sapi\objd\i386\sapi.dll#Microsoft Speech Object Library
|
||||
Reference=*\G{21D6D480-A88B-11D0-83DD-00AA003CCABD}#1.0#0#..\..\..\..\..\..\..\..\WINNT\System32\tapi3.dll#Microsoft TAPI 3.0 Type Library
|
||||
Reference=*\G{EDAEECD8-0D75-499E-9B69-187ACACF2C05}#1.0#0#..\..\..\cpp\tapicustomstream\objd\i386\STCustomStream.dll#STCustomStream 1.0 Type Library
|
||||
Object={3B7C8863-D78F-101B-B9B5-04021C009402}#1.2#0; RICHTX32.OCX
|
||||
Form=SapiTapi.frm
|
||||
ResFile32="SapiTapi.RES"
|
||||
Startup="Form1"
|
||||
HelpFile=""
|
||||
ExeName32="SapiTapi.exe"
|
||||
Command32=""
|
||||
Name="SapiTapi"
|
||||
HelpContextID="0"
|
||||
CompatibleMode="0"
|
||||
MajorVer=1
|
||||
MinorVer=0
|
||||
RevisionVer=0
|
||||
AutoIncrementVer=0
|
||||
ServerSupportFiles=0
|
||||
VersionCompanyName="Microsoft Corp."
|
||||
CompilationType=0
|
||||
OptimizationType=2
|
||||
FavorPentiumPro(tm)=0
|
||||
CodeViewDebugInfo=-1
|
||||
NoAliasing=0
|
||||
BoundsCheck=0
|
||||
OverflowCheck=0
|
||||
FlPointCheck=0
|
||||
FDIVCheck=0
|
||||
UnroundedFP=0
|
||||
StartMode=0
|
||||
Unattended=0
|
||||
Retained=0
|
||||
ThreadPerObject=0
|
||||
MaxNumberOfThreads=1
|
||||
DebugStartupOption=0
|
||||
|
||||
[MS Transaction Server]
|
||||
AutoRefresh=1
|
||||
Reference in New Issue
Block a user