Scripts (версия 3.xx)/Организация звукового меню: различия между версиями
Перейти к навигации
Перейти к поиску
McBurns (обсуждение | вклад) (Новая страница: «Для организации звукового меню внутри сценария вам понадобится объект Device, создаваемый …») |
McBurns (обсуждение | вклад) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 66: | Строка 66: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Для создания многоуровневого меню можно добавлять этот код в любой из пунктов '''case'''. | Для создания многоуровневого меню можно добавлять этот код в любой из пунктов '''case'''. Например: | ||
<syntaxhighlight lang="javascript"> | |||
// Считаем, что Device объявлено заранее | |||
Device.StartDetectDTMF (1, // Ожидается нажатие одной клавиши | |||
'0123'); // Считаются значимыми клавиши от 0 до 3 | |||
Device.Listen (10); // Ждём нажатия 10 секунд | |||
Device.StopDetectDTMF (); // Остановка распознавания нажатых клавиш | |||
var DetectedSignal = Device.ReceivedSignals (); // Значение нажатой клавиши в переменной DetectedSignal | |||
switch (DetectedSignal) { | |||
case '1': // При нажатии клавиши «1» делаем дополнительное голосовое меню | |||
//<здесь размещаем код, воспроизводящий описание пунктов меню> | |||
Device.StartDetectDTMF (1, // Ожидается нажатие одной клавиши | |||
'12'); // Считаются значимыми клавиши 1 и 2 | |||
Device.Listen (10); // Ждём нажатия 10 секунд | |||
Device.StopDetectDTMF (); // Остановка распознавания нажатых клавиш | |||
DetectedSignal = Device.ReceivedSignals (); // Значение нажатой клавиши в переменной DetectedSignal | |||
switch (DetectedSignal) { | |||
case '1': | |||
// <здесь помещаем то, что выполняется при нажатии клавиши «1» во втором уровне меню>; | |||
break; | |||
case '2': | |||
// <здесь помещаем то, что выполняется при нажатии клавиши «2» во втором уровне меню>; | |||
break; | |||
default: | |||
// <здесь помещаем то, что выполняется, если нажаты клавиши для прерывания или не нажато ничего во втором уровне меню>; | |||
break; | |||
} | |||
break; | |||
case '2': | |||
// <здесь помещаем то, что выполняется при нажатии клавиши «2»>; | |||
break; | |||
case '3': | |||
// <здесь помещаем то, что выполняется при нажатии клавиши «3»>; | |||
break; | |||
case '0': | |||
default: | |||
// <здесь помещаем то, что выполняется при нажатии клавиши «0», она считается нажатой по умолчанию>; | |||
break; | |||
} | |||
</syntaxhighlight> |
Текущая версия на 06:31, 8 апреля 2014
Для организации звукового меню внутри сценария вам понадобится объект Device, создаваемый в каждом стандартном сценарии командой:
var Device = new CDevice ();
Итак, простейшее одноранговое меню:
// Считаем, что Device объявлено заранее
Device.StartDetectDTMF (1, // Ожидается нажатие одной клавиши
'0123456789', // Считаются значимыми клавиши от 0 до 9
'*#'); // Прерывают ожидание клавиши * и #
Device.Listen (10); // Ждём нажатия 10 секунд
Device.StopDetectDTMF (); // Остановка распознавания нажатых клавиш
var DetectedSignal = Device.ReceivedSignals (); // Значение нажатой клавиши в переменной DetectedSignal
switch (DetectedSignal) {
case '0':
// <здесь помещаем то, что выполняется при нажатии клавиши «0»>;
break;
case '1':
// <здесь помещаем то, что выполняется при нажатии клавиши «1»>;
break;
case '2':
// <здесь помещаем то, что выполняется при нажатии клавиши «2»>;
break;
case '3':
// <здесь помещаем то, что выполняется при нажатии клавиши «3»>;
break;
case '4':
// <здесь помещаем то, что выполняется при нажатии клавиши «4»>;
break;
case '5':
// <здесь помещаем то, что выполняется при нажатии клавиши «5»>;
break;
case '6':
// <здесь помещаем то, что выполняется при нажатии клавиши «6»>;
break;
case '7':
// <здесь помещаем то, что выполняется при нажатии клавиши «7»>;
break;
case '8':
// <здесь помещаем то, что выполняется при нажатии клавиши «8»>;
break;
case '9':
// <здесь помещаем то, что выполняется при нажатии клавиши «9»>;
break;
default:
// <здесь помещаем то, что выполняется, если нажаты клавиши для прерывания или не нажато ничего>;
break;
}
Для создания многоуровневого меню можно добавлять этот код в любой из пунктов case. Например:
// Считаем, что Device объявлено заранее
Device.StartDetectDTMF (1, // Ожидается нажатие одной клавиши
'0123'); // Считаются значимыми клавиши от 0 до 3
Device.Listen (10); // Ждём нажатия 10 секунд
Device.StopDetectDTMF (); // Остановка распознавания нажатых клавиш
var DetectedSignal = Device.ReceivedSignals (); // Значение нажатой клавиши в переменной DetectedSignal
switch (DetectedSignal) {
case '1': // При нажатии клавиши «1» делаем дополнительное голосовое меню
//<здесь размещаем код, воспроизводящий описание пунктов меню>
Device.StartDetectDTMF (1, // Ожидается нажатие одной клавиши
'12'); // Считаются значимыми клавиши 1 и 2
Device.Listen (10); // Ждём нажатия 10 секунд
Device.StopDetectDTMF (); // Остановка распознавания нажатых клавиш
DetectedSignal = Device.ReceivedSignals (); // Значение нажатой клавиши в переменной DetectedSignal
switch (DetectedSignal) {
case '1':
// <здесь помещаем то, что выполняется при нажатии клавиши «1» во втором уровне меню>;
break;
case '2':
// <здесь помещаем то, что выполняется при нажатии клавиши «2» во втором уровне меню>;
break;
default:
// <здесь помещаем то, что выполняется, если нажаты клавиши для прерывания или не нажато ничего во втором уровне меню>;
break;
}
break;
case '2':
// <здесь помещаем то, что выполняется при нажатии клавиши «2»>;
break;
case '3':
// <здесь помещаем то, что выполняется при нажатии клавиши «3»>;
break;
case '0':
default:
// <здесь помещаем то, что выполняется при нажатии клавиши «0», она считается нажатой по умолчанию>;
break;
}