Разместить кнопку остановки своей аудиозаписи: ПравоНиз

Учебные задачи

Положение штатной кнопки передаётся третьим аргументом ВключитьАудиозапись. Дополнительно определены собственная остановка и документированный обработчик завершения.

Где и как запускать

Модуль собственной управляемой формы мобильного клиента / мобильного приложения, &НаКлиенте. Команда запускается пользователем.

Подготовка

  1. Короткий мобильный пример: собственная управляемая форма мобильного клиента / мобильного приложения, не настольный тонкий клиент.

  2. Добавьте Статус (Строка 200), поле и две команды с кнопками: НачатьСвоюАудиозапись и ОстановитьСвоюЗапись. Все три процедуры из примера находятся в одном модуле формы.

  3. Включите требуемую функциональность аудиозаписи приложения и разрешите микрофон в ОС. Записывайте только свой короткий учебный звук, с согласия присутствующих; ничего не отправляйте.

  4. Положение Нет скрывает штатную кнопку остановки, поэтому собственная кнопка Остановить обязательна. Нажимайте её только после начала своей записи; повторно Начать во время записи не нажимайте.

&НаКлиенте
Процедура НачатьСвоюАудиозапись(Команда)
    Если НЕ СредстваМультимедиа.ПоддерживаетсяАудиозапись() Тогда
        Сообщить("Аудиозапись не поддерживается устройством");
        Возврат;
    КонецЕсли;
    Завершение = Новый ОписаниеОповещения("ПослеОстановкиАудио", ЭтаФорма);
    СредстваМультимедиа.ВключитьАудиозапись(Завершение, , РасположениеКнопкиОстановкиЗаписиМультимедиа.ПравоНиз);
    Статус = "Идёт собственная запись; завершите её своей кнопкой Остановить";
КонецПроцедуры
Та же мобильная форма: собственная команда остановки
&НаКлиенте
Процедура ОстановитьСвоюЗапись(Команда)
    СредстваМультимедиа.ОтключитьАудиозапись();
    Статус = "Запрошена остановка собственной записи";
КонецПроцедуры
Тот же мобильный модуль: экспортное завершение записи
&НаКлиенте
Процедура ПослеОстановкиАудио(РезультатАудиозаписи, ДополнительныеПараметры) Экспорт
    Если РезультатАудиозаписи = Неопределено Тогда
        Статус = "Результат записи не получен";
    Иначе
        Статус = "Результат собственной аудиозаписи получен";
    КонецЕсли;
    Сообщить(Статус);
КонецПроцедуры

Разбор по шагам

  1. Пользователь сам запускает команду в собственной подготовленной мобильной форме.

  2. Проверяем поддержку конкретной возможности устройства, затем вызываем реальный метод с выбранным перечислением.

  3. Платформа вызывает экспортный обработчик; результат не читается синхронно сразу после открытия интерфейса.

Как проверить результат

  1. При выбранном положении ПравоНиз собственная запись запускается на поддерживаемом устройстве с разрешённым микрофоном.

  2. Авто использует ПравоНиз; Нет убирает штатную кнопку, но собственная команда по-прежнему завершает запись.

  3. После остановки вызывается ПослеОстановкиАудио; Неопределено означает отсутствие результата. Код не сохраняет и не отправляет полученные данные.

Ожидаемый результат

Перечисление использовано в реальном документированном мобильном вызове с полным собственным обработчиком результата.

На что обратить внимание

  1. Проверка возможностей устройства не заменяет разрешение камеры / микрофона в ОС; устройство может быть занято или отклонить запрос.

  2. Не имитируйте успешное сканирование / запись прямым вызовом экспортного обработчика.

  3. HTML показывает код: при сборке камера, микрофон, сеть и код 1С не включались.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.