Объект Device: различия между версиями

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску
 
(не показано 56 промежуточных версий 4 участников)
Строка 1: Строка 1:
Обьект Device позволяет работать с устройством, доступным приложению Call Office. Список доступных устройств можно получить используя метод DeviceList.
'''Обьект Device''' позволяет работать с устройством, доступным приложению Call Office. Список доступных устройств можно получить используя метод [[Объект_Device/Свойства/DeviceList|DeviceList]].
Перед тем как начать работу с устройством следует его открыть используя метод Open. Соответственно завершать работу с устройством следует методом Close. С открытым устройством можно выполнять различные действия, набор номера, ожидание входящего звонка, произнесение сообщения и т.д. вызывая соответствующие методы. Ряд методов устройства выполняются в отдельном потоке, что позволяет исключить зависание приложения на время работы метода. В процессе работы обьект генерирует различные события подписаться на которые можно используя событие OnProcess. Устройство позволяет формировать журнал своей работы. Управляется журнал свойством LogFile.  
Перед тем как начать работу с устройством следует его открыть используя метод [[Объект_Device/Методы/Open|Open]]. Соответственно завершать работу с устройством следует методом [[Объект_Device/Методы/Close|Close]]. С открытым устройством можно выполнять различные действия, набор номера, ожидание входящего звонка, произнесение сообщения и т.д. вызывая соответствующие методы. Ряд методов устройства выполняются в отдельном потоке, что позволяет исключить зависание приложения на время работы метода. В процессе работы объект генерирует различные события подписаться на которые можно используя событие [[Объект_Device/OnProcess|OnProcess]]. Устройство позволяет формировать журнал своей работы. Управляется журнал свойством [[Объект_Device/Свойства/LogFile|LogFile]]. Некоторые функции объекта Device работают в [[Объект_Device/Асинхронный_режим|асинхронном режиме]].


'''Примеры'''
{|border="0" style="width:100%;"
|-
|colspan="3" style="background-color:#eeeeee; width:100%;" cellpadding="0" cellspacing="0" align="center"|'''[[Объект_Device/Методы|Методы]]'''
|-
|[[Объект_Device/Методы/About|Метод Device::About]]
 
[[Объект_Device/Методы/Answer|Метод Device::Answer]]
 
[[Объект_Device/Методы/CallHold|Метод Device::CallHold]]
 
[[Объект_Device/Методы/CallUnhold|Метод Device::CallUnhold]]
 
[[Объект_Device/Методы/Cancel|Метод Device::Cancel]]
 
[[Объект_Device/Методы/ClearSignals|Метод Device::ClearSignals]]
 
[[Объект_Device/Методы/Close|Метод Device::Close]]
 
[[Объект_Device/Методы/ConferenceCreate|Метод Device::ConferenceCreate]]
 
[[Объект_Device/Методы/ConferenceDestroy|Метод Device::ConferenceDestroy]]
 
[[Объект_Device/Методы/ConferenceJoin|Метод Device::ConferenceJoin]]
 
[[Объект_Device/Методы/ConferenceRemove|Метод Device::ConferenceRemove]]
 
[[Объект_Device/Методы/ConferenceSplit|Метод Device::ConferenceSplit]]
 
[[Объект_Device/Методы/DeleteSMS|Метод Device::DeleteSMS]]
 
[[Объект_Device/Методы/Dial|Метод Device::Dial]]


<u>Пример на JavaScript</u>
[[Объект_Device/Методы/GetBalance|Метод Device::GetBalance]]
<pre>
 
[[Объект_Device/Методы/HangUp|Метод Device::HangUp]]
 
[[Объект_Device/Методы/InitSpeechRecognition|Метод Device::InitSpeechRecognition]]
|[[Объект_Device/Методы/InLog|Метод Device::InLog]]
 
[[Объект_Device/Методы/IsInternet|Метод Device::IsInternet]]
 
[[Объект_Device/Методы/Listen|Метод Device::Listen]]
 
[[Объект_Device/Методы/LogOff|Метод Device::LogOff]]
 
[[Объект_Device/Методы/LogOn|Метод Device::LogOn]]
 
[[Объект_Device/Методы/Open|Метод Device::Open]]
 
[[Объект_Device/Методы/OpenCall|Метод Device::OpenCall]]
 
[[Объект_Device/Методы/Quit|Метод Device::Quit]]
 
[[Объект_Device/Методы/Result|Метод Device::Result]]
 
[[Объект_Device/Методы/Say|Метод Device::Say]]
 
[[Объект_Device/Методы/SayText|Метод Device::SayText]]
 
[[Объект_Device/Методы/SelectFolder|Метод Device::SelectFolder]]
 
[[Объект_Device/Методы/SelectSound|Метод Device::SelectSound]]
 
[[Объект_Device/Методы/SendCommand|Метод Device::SendCommand]]
 
[[Объект_Device/Методы/SendDTMF|Метод Device::SendDTMF]]
 
[[Объект_Device/Методы/SendSMS|Метод Device::SendSMS]]
 
[[Объект_Device/Методы/SetCallerId|Метод Device::SetCallerId]]
| style="vertical-align: top;" |
[[Объект_Device/Методы/StartAudioRecord|Метод Device::StartAudioRecord]]
 
[[Объект_Device/Методы/StartBackgroundSound|Метод Device::StartBackgroundSound]]
 
[[Объект_Device/Методы/StartDetectDTMF|Метод Device::StartDetectDTMF]]
 
[[Объект_Device/Методы/StartSpeechRecognition|Метод Device::StartSpeechRecognition]]
 
[[Объект_Device/Методы/StopAudioRecord|Метод Device::StopAudioRecord]]
 
[[Объект_Device/Методы/StopBackgroundSound|Метод Device::StopBackgroundSound]]
 
[[Объект_Device/Методы/StopDetectDTMF|Метод Device::StopDetectDTMF]]
 
[[Объект_Device/Методы/StopSpeechRecognition|Метод Device::StopSpeechRecognition]]
 
[[Объект_Device/Методы/Talk|Метод Device::Talk]]
 
[[Объект_Device/Методы/TextToSound|Метод Device::TextToSound]]
 
[[Объект_Device/Методы/TransferCall|Метод Device::TransferCall]]
 
[[Объект_Device/Методы/WaitForAnswer|Метод Device::WaitForAnswer]]
 
[[Объект_Device/Методы/WaitForCall|Метод Device::WaitForCall]]
 
[[Объект_Device/Методы/WaitForIncoming|Метод Device::WaitForIncoming]]
 
[[Объект_Device/Методы/WaitForSMS|Метод Device::WaitForSMS]]
|-
|colspan="3" style="background-color:#eeeeee; width:100%;" cellpadding="0" cellspacing="0" align="center"|'''Устаревшие методы'''
|-
|[[Объект_Device/Методы/GetDeviceCount|Метод Device::GetDeviceCount]]
|[[Объект_Device/Методы/GetDeviceIdByIndex|Метод Device::GetDeviceIdByIndex]]
|[[Объект_Device/Методы/GetDeviceNameByIndex|Метод Device::GetDeviceNameByIndex]]
|-
|colspan="3" style="background-color:#eeeeee; width:100%;" cellpadding="0" cellspacing="0" align="center"|'''[[Объект_Device/Свойства|Свойства]]'''
|-
|[[Объект_Device/Свойства/AsynchronousMode|Свойство Device::AsynchronousMode]]
 
[[Объект_Device/Свойства/BusyCount|Свойство Device::BusyCount]]
 
[[Объект_Device/Свойства/CallerDetect|Свойство Device::CallerDetect]]
 
[[Объект_Device/Свойства/CallerId|Свойство Device::CallerId]]
 
[[Объект_Device/Свойства/DeviceList|Свойство Device::DeviceList]]
 
[[Объект_Device/Свойства/Echo|Свойство Device::Echo]]
|[[Объект_Device/Свойства/LogFile|Свойство Device::LogFile]]
 
[[Объект_Device/Свойства/LogLevel|Свойство Device::LogLevel]]
 
[[Объект_Device/Свойства/ReceivedSignals|Свойство Device::ReceivedSignals]]
 
[[Объект_Device/Свойства/RecordedSound|Свойство Device::RecordedSound]]
 
[[Объект_Device/Свойства/RingCount|Свойство Device::RingCount]]
 
[[Объект_Device/Свойства/SMSList|Свойство Device::SMSList]]
|[[Объект_Device/Свойства/SoundList|Свойство Device::SoundList]]
 
[[Объект_Device/Свойства/SoundPath|Свойство Device::SoundPath]]
 
[[Объект_Device/Свойства/State|Свойство Device::State]]
 
[[Объект_Device/Свойства/TTSEngine|Свойство Device::TTSEngine]]
 
[[Объект_Device/Свойства/TTSEngineList|Свойство Device::TTSEngineList]]
 
[[Объект_Device/Свойства/VoiceCommand|Свойство Device::VoiceCommand]]
 
|-
|colspan="3" style="background-color:#eeeeee; width:100%;" cellpadding="0" cellspacing="0" align="center"|'''События'''
|-
|[[Объект_Device/OnProcess|OnProcess]]
|}
 
==Примеры==
:Примеры на JavaScript
<syntaxhighlight lang="javascript">
/* Пример передачи сообщения по указанному номеру телефона */
/* Пример передачи сообщения по указанному номеру телефона */
var Device = new ActiveXObject ("CallOffice.Device"); // Создаем обьект устройство
var Device = new ActiveXObject ("CallOffice.Device"); // Создаем обьект устройство
Строка 12: Строка 160:


var Result = Device.Dial ("8906123456", 40);    // Набираем номер и ожидаем когда абонент снимет трубку
var Result = Device.Dial ("8906123456", 40);    // Набираем номер и ожидаем когда абонент снимет трубку
if (Result == 1) {                 // Если абонент поднял трубку
if (Result == 0) {                             // Если абонент поднял трубку
   Device.Say ("Сообщение");       // Произносим звуковой файл с именем Сообщение
   Device.Say ("Сообщение");                   // Произносим звуковой файл с именем Сообщение
}
}


Device.HangUp ();            // Кладем трубку   
Device.HangUp ();            // Кладем трубку   
Device.Close ();            // Закрываем устройство
Device.Close ();            // Закрываем устройство
</syntaxhighlight>


 
<syntaxhighlight lang="javascript">
 
/* Пример ожидания входящего звонка и передачи сообщения абоненту */
/* Пример ожидания входящего звонка и передачи сообщения абоненту */


var Device = new ActiveXObject ("CallOffice.Device");  // Создаем обьект устройство
var Device = new ActiveXObject ("CallOffice.Device");  // Создаем обьект устройство


Device.Open ();           // Открываем устройство
Device.Open ();             // Открываем устройство


var Result = Device.WaitForCall (120);  // Ожидаем входящий звонок 120 cекунд
var Result = Device.WaitForIncoming (120);  // Ожидаем входящий звонок 120 cекунд
if (Result == 0) {                 // Если входящий звонок поступил
if (Result == 0) {                         // Если входящий звонок поступил
   Device.Say ("Сообщение");       // Произносим звуковой файл с именем Сообщение
   Device.Say ("Сообщение");               // Произносим звуковой файл с именем Сообщение
}
}


Device.HangUp ();            // Кладем трубку   
Device.HangUp ();            // Кладем трубку   
Device.Close ();            // Закрываем устройство
Device.Close ();            // Закрываем устройство
</syntaxhighlight>


</pre>
:Примеры на VBScript
 
<syntaxhighlight lang="vb">
<u>Пример на VBScript</u>
<pre>
' Пример передачи сообщения по указанному номеру телефона  
' Пример передачи сообщения по указанному номеру телефона  


Строка 44: Строка 191:
Set Device = CreateObject ("CallOffice.Device") ' Создаем обьект устройство
Set Device = CreateObject ("CallOffice.Device") ' Создаем обьект устройство


Device.Open               ' Открываем устройство
Device.Open             ' Открываем устройство


Result = Device.Dial ("8906123456", 40)    ' Набираем номер и ожидаем когда абонент снимет трубку
Result = Device.Dial ("8906123456", 40)    ' Набираем номер и ожидаем когда абонент снимет трубку
if Result = 1 then                 ' Если абонент поднял трубку
if Result = 0 then                         ' Если абонент поднял трубку
   Device.Say "Сообщение"           ' Произносим звуковой файл с именем Сообщение
   Device.Say "Сообщение"                 ' Произносим звуковой файл с именем Сообщение
end if
end if


Device.HangUp            ' Кладем трубку   
Device.HangUp            ' Кладем трубку   
Device.Close            ' Закрываем устройство
Device.Close            ' Закрываем устройство
</syntaxhighlight>


 
<syntaxhighlight lang="vb">
' Пример ожидания входящего звонка и передачи сообщения абоненту  
' Пример ожидания входящего звонка и передачи сообщения абоненту  


Строка 60: Строка 208:
Set Device = CreateObject ("CallOffice.Device") ' Создаем обьект устройство
Set Device = CreateObject ("CallOffice.Device") ' Создаем обьект устройство


Device.Open           ' Открываем устройство
Device.Open             ' Открываем устройство


Result = Device.WaitForCall (120)  ' Ожидаем входящий звонок 120 cекунд
Result = Device.WaitForIncoming (120)  ' Ожидаем входящий звонок 120 cекунд
if Result = 1 then                 ' Если входящий звонок поступил
if Result = 0 then                     ' Если входящий звонок поступил
   Device.Say "Сообщение"           ' Произносим звуковой файл с именем Сообщение
   Device.Say "Сообщение"               ' Произносим звуковой файл с именем Сообщение
end if
end if


Device.HangUp            ' Кладем трубку   
Device.HangUp            ' Кладем трубку   
Device.Close            ' Закрываем устройство
Device.Close            ' Закрываем устройство
</pre>
</syntaxhighlight>
 
{|border="0" style="width:100%;"
|-
|colspan="3" style="background-color:#eeeeee; width:100%;" cellpadding="0" cellspacing="0" align="center"|'''[[Компонент_Device/Методы|Методы]]'''
|-
|[[Компонент_Device/Методы/About|Метод Device::About]]
|[[Компонент_Device/Методы/Answer|Метод Device::Answer]]
|[[Компонент_Device/Методы/Cancel|Метод Device::Cancel]]
|-
|[[Компонент_Device/Методы/ClearSignals|Метод Device::ClearSignals]]
|[[Компонент_Device/Методы/Close|Метод Device::Close]]
|[[Компонент_Device/Методы/DeleteSMS|Метод Device::DeleteSMS]]
|-
|[[Компонент_Device/Методы/Dial|Метод Device::Dial]]
|[[Компонент_Device/Методы/GetBalance|Метод Device::GetBalance]]
|[[Компонент_Device/Методы/ClearSignals|Метод Device::ClearSignals]]
|-
|[[Компонент_Device/Методы/HangUp|Метод Device::HangUp]]
|[[Компонент_Device/Методы/InLog|Метод Device::InLog]]
|[[Компонент_Device/Методы/Listen|Метод Device::Listen]]
|-
|[[Компонент_Device/Методы/LogOff|Метод Device::LogOff]]
|[[Компонент_Device/Методы/LogOn|Метод Device::LogOn]]
|[[Компонент_Device/Методы/Open|Метод Device::Open]]
|-
|[[Компонент_Device/Методы/Say|Метод Device::Say]]
|[[Компонент_Device/Методы/SayText|Метод Device::SayText]]
|[[Компонент_Device/Методы/SelectFolder|Метод Device::SelectFolder]]
|-
|[[Компонент_Device/Методы/SelectSound|Метод Device::SelectSound]]
|[[Компонент_Device/Методы/SendCommand|Метод Device::SendCommand]]
|[[Компонент_Device/Методы/SendSMS|Метод Device::SendSMS]]
|-
|[[Компонент_Device/Методы/StartAudioRecord|Метод Device::StartAudioRecord]]
|[[Компонент_Device/Методы/StartDetectDTMF|Метод Device::StartDetectDTMF]]
|[[Компонент_Device/Методы/StopAudioRecord|Метод Device::StopAudioRecord]]
|-
|[[Компонент_Device/Методы/StopDetectDTMF|Метод Device::StopDetectDTMF]]
|[[Компонент_Device/Методы/Talk|Метод Device::Talk]]
|[[Компонент_Device/Методы/TextToSound|Метод Device::TextToSound]]
|-
|[[Компонент_Device/Методы/TransferCall|Метод Device::TransferCall]]
|[[Компонент_Device/Методы/WaitForAnswer|Метод Device::WaitForAnswer]]
|[[Компонент_Device/Методы/WaitForCall|Метод Device::WaitForCall]]
|-
|[[Компонент_Device/Методы/WaitForIncoming|Метод Device::WaitForIncoming]]
|[[Компонент_Device/Методы/WaitForSMS|Метод Device::WaitForSMS]]
|-
|
 
|-
|colspan="3" style="background-color:#eeeeee; width:100%;" cellpadding="0" cellspacing="0" align="center"|'''[[Компонент_Device/Свойства|Свойства]]'''
|-
|[[Компонент_Device/Свойства/AsynchronousMode|Свойство Device::AsynchronousMode]]
|[[Компонент_Device/Свойства/BusyCount|Свойство Device::BusyCount]]
|[[Компонент_Device/Свойства/CallerDetect|Свойство Device::CallerDetect]]
|-
|[[Компонент_Device/Свойства/CallerId|Свойство Device::CallerId]]
|[[Компонент_Device/Свойства/DeviceList|Свойство Device::DeviceList]]
|[[Компонент_Device/Свойства/Echo|Свойство Device::Echo]]
|-
|[[Компонент_Device/Свойства/LogFile|Свойство Device::LogFile]]
|[[Компонент_Device/Свойства/LogLevel|Свойство Device::LogLevel]]
|[[Компонент_Device/Свойства/ReceivedSignals|Свойство Device::ReceivedSignals]]
|-
|[[Компонент_Device/Свойства/RecordedSound|Свойство Device::RecordedSound]]
|[[Компонент_Device/Свойства/RingCount|Свойство Device::RingCount]]
|[[Компонент_Device/Свойства/SMSList|Свойство Device::SMSList]]
|-
|[[Компонент_Device/Свойства/SoundList|Свойство Device::SoundList]]
|[[Компонент_Device/Свойства/SoundPath|Свойство Device::SoundPath]]
|[[Компонент_Device/Свойства/TTSEngine|Свойство Device::TTSEngine]]
|-
|[[Компонент_Device/Свойства/TTSEngineList|Свойство Device::TTSEngineList]]
|}

Текущая версия на 18:44, 2 декабря 2021

Обьект Device позволяет работать с устройством, доступным приложению Call Office. Список доступных устройств можно получить используя метод DeviceList. Перед тем как начать работу с устройством следует его открыть используя метод Open. Соответственно завершать работу с устройством следует методом Close. С открытым устройством можно выполнять различные действия, набор номера, ожидание входящего звонка, произнесение сообщения и т.д. вызывая соответствующие методы. Ряд методов устройства выполняются в отдельном потоке, что позволяет исключить зависание приложения на время работы метода. В процессе работы объект генерирует различные события подписаться на которые можно используя событие OnProcess. Устройство позволяет формировать журнал своей работы. Управляется журнал свойством LogFile. Некоторые функции объекта Device работают в асинхронном режиме.

Методы
Метод Device::About

Метод Device::Answer

Метод Device::CallHold

Метод Device::CallUnhold

Метод Device::Cancel

Метод Device::ClearSignals

Метод Device::Close

Метод Device::ConferenceCreate

Метод Device::ConferenceDestroy

Метод Device::ConferenceJoin

Метод Device::ConferenceRemove

Метод Device::ConferenceSplit

Метод Device::DeleteSMS

Метод Device::Dial

Метод Device::GetBalance

Метод Device::HangUp

Метод Device::InitSpeechRecognition

Метод Device::InLog

Метод Device::IsInternet

Метод Device::Listen

Метод Device::LogOff

Метод Device::LogOn

Метод Device::Open

Метод Device::OpenCall

Метод Device::Quit

Метод Device::Result

Метод Device::Say

Метод Device::SayText

Метод Device::SelectFolder

Метод Device::SelectSound

Метод Device::SendCommand

Метод Device::SendDTMF

Метод Device::SendSMS

Метод Device::SetCallerId

Метод Device::StartAudioRecord

Метод Device::StartBackgroundSound

Метод Device::StartDetectDTMF

Метод Device::StartSpeechRecognition

Метод Device::StopAudioRecord

Метод Device::StopBackgroundSound

Метод Device::StopDetectDTMF

Метод Device::StopSpeechRecognition

Метод Device::Talk

Метод Device::TextToSound

Метод Device::TransferCall

Метод Device::WaitForAnswer

Метод Device::WaitForCall

Метод Device::WaitForIncoming

Метод Device::WaitForSMS

Устаревшие методы
Метод Device::GetDeviceCount Метод Device::GetDeviceIdByIndex Метод Device::GetDeviceNameByIndex
Свойства
Свойство Device::AsynchronousMode

Свойство Device::BusyCount

Свойство Device::CallerDetect

Свойство Device::CallerId

Свойство Device::DeviceList

Свойство Device::Echo

Свойство Device::LogFile

Свойство Device::LogLevel

Свойство Device::ReceivedSignals

Свойство Device::RecordedSound

Свойство Device::RingCount

Свойство Device::SMSList

Свойство Device::SoundList

Свойство Device::SoundPath

Свойство Device::State

Свойство Device::TTSEngine

Свойство Device::TTSEngineList

Свойство Device::VoiceCommand

События
OnProcess

Примеры

Примеры на JavaScript
/* Пример передачи сообщения по указанному номеру телефона */
var Device = new ActiveXObject ("CallOffice.Device"); // Создаем обьект устройство

Device.Open ();              // Открываем устройство

var Result = Device.Dial ("8906123456", 40);    // Набираем номер и ожидаем когда абонент снимет трубку
if (Result == 0) {                              // Если абонент поднял трубку
   Device.Say ("Сообщение");                    // Произносим звуковой файл с именем Сообщение
}

Device.HangUp ();            // Кладем трубку   
Device.Close ();             // Закрываем устройство
/* Пример ожидания входящего звонка и передачи сообщения абоненту */

var Device = new ActiveXObject ("CallOffice.Device");   // Создаем обьект устройство

Device.Open ();              // Открываем устройство

var Result = Device.WaitForIncoming (120);  // Ожидаем входящий звонок 120 cекунд
if (Result == 0) {                          // Если входящий звонок поступил
   Device.Say ("Сообщение");                // Произносим звуковой файл с именем Сообщение
}

Device.HangUp ();            // Кладем трубку   
Device.Close ();             // Закрываем устройство
Примеры на VBScript
' Пример передачи сообщения по указанному номеру телефона 

Dim Device
Set Device = CreateObject ("CallOffice.Device") ' Создаем обьект устройство

Device.Open              ' Открываем устройство

Result = Device.Dial ("8906123456", 40)    ' Набираем номер и ожидаем когда абонент снимет трубку
if Result = 0 then                         ' Если абонент поднял трубку
   Device.Say "Сообщение"                  ' Произносим звуковой файл с именем Сообщение
end if

Device.HangUp            ' Кладем трубку   
Device.Close             ' Закрываем устройство
' Пример ожидания входящего звонка и передачи сообщения абоненту 

Dim Device
Set Device = CreateObject ("CallOffice.Device") ' Создаем обьект устройство

Device.Open              ' Открываем устройство

Result = Device.WaitForIncoming (120)   ' Ожидаем входящий звонок 120 cекунд
if Result = 0 then                      ' Если входящий звонок поступил
   Device.Say "Сообщение"               ' Произносим звуковой файл с именем Сообщение
end if

Device.HangUp            ' Кладем трубку   
Device.Close             ' Закрываем устройство