Когда я воспроизвожу файл с помощью команды воспроизведения в Asterisk, он не прекращает воспроизведение, когда на телефоне нажата клавиша. Есть ли способ остановить игру и перейти к следующей команде?Как остановить команду воспроизведения при обнаружении цифры?
ответ
Воспроизведение не предназначено для чтения ввода от пользователя, а как инструмент для воспроизведения приветственного сообщения (обратите внимание, что воспроизведение будет отвечать на канал, если не будет дан ответ). manual for Playback ничего не говорит о чтении ввода от пользователя. Кроме того, эта voip-info страница состояния:
Playback will play the whole sound file(s), and when complete, return control.
Так попробуйте воспользоваться Read в диалплане, как:
Read(get,"mysound", 1)
Это будет воспроизводить звук MySound, и прочитать до 1 цифры от пользователя. Дополнительные примеры (и полный синтаксис с его параметрами) доступны на voip-info page for Read.
Лучшее!
EDIT: В этом примере считываемая цифра будет сохранена в переменной диалплана получить.
Тогда просто собрать одну цифру, и ничего не делать с собранными переменной :-)
Вы также можете использовать команду Фон, который получит один вход DTMF от пользователя.
Чтобы узнать об этом использовании команды по этой ссылке http://www.voip-info.org/wiki/view/Asterisk+cmd+BackGround
или введите следующую команду на сервере
asterisk -rx 'core show application Background'
- 1. Как остановить запуск кода при обнаружении ошибки?
- 2. Как остановить поток при обнаружении блокировки?
- 3. Остановить сбор Keil uVision при обнаружении предупреждения
- 4. Остановить рекурсивную функцию при обнаружении элемента
- 5. Как остановить/воспроизведения видео
- 6. Как остановить команду hiredis?
- 7. Как проверить жизнеспособность при обнаружении лица при обнаружении лица андроида
- 8. Остановить вставку в таблицу при обнаружении дублирующегося значения Колба SQLAlchemy
- 9. iScroll 5: при обнаружении при прокрутке
- 10. Как отфильтровать BluetoothDevice при обнаружении
- 11. Mysql Остановить команду OPTIMIZE?
- 12. Остановить команду Symfony Console
- 13. Создание ListView при обнаружении «@»
- 14. при обнаружении нажатия кнопки
- 15. улучшение при обнаружении столкновений
- 16. Как остановить функцию воспроизведения от печати?
- 17. MediaPlayer как остановить несколько звуков от воспроизведения
- 18. Ошибка при обнаружении апплета?
- 19. Ошибка при обнаружении ServiceLocatorImplBase.cs
- 20. Оптимизация при обнаружении столкновений
- 21. Как остановить римские цифры в сфинксе
- 22. Как остановить команду, если пользователь фокусирует курсор?
- 23. Django Chroniker: Как остановить настраиваемую команду при ее запуске
- 24. Как остановить команду внутри псевдонима от запуска при получении .bashrc?
- 25. Остановить метеор через команду оболочки
- 26. Как остановить команду Pkg.xxx() в Джулии?
- 27. Как остановить исполняемой в данный момент команду
- 28. Как остановить команду в R в Windows
- 29. как остановить команду от ввода ввода?
- 30. Проверьте аудио воспроизведения, чтобы остановить его
Если вы хотите, чтобы собрать DTMF цифры во время воспроизведения файла - а не после того, как с помощью Прочитайте приложение - вы также можете использовать фоновое приложение: https://wiki.asterisk.org/wiki/display/AST/Application_BackGround –
@MattJordan. Разве это не предназначено специально для чтения (и перехода) к расширениям вместо смысла? цифры? Я выбрал Read для ответа, потому что OP не указал намерения. Кроме того, вы не можете указать максимальное количество цифр, и вам нужно будет иметь расширение для каждого действительного параметра, а s - как все-таки, это похоже на слишком много для вопроса, так как это – marcelog
хе, хорошая точка. Я на самом деле получил фоновое смешение с Read - thanks :-) –