Meetbot.start(meta:)
Открывает аудио-сессию, пишет Opus-чанки на диск, загружает через background URLSession upload task.
03 · mobile recording sdk
выходит Q3 2026 · только встраиваемый SDKA Swift framework and a Kotlin module you embed in your app. Captures the ambient mic during a meeting and uploads to your tenant. iOS + Android land Q3 2026 — and we're upfront about what mobile OSes will and won't let us do.
обзор
Прочтите перед интеграцией. ReplayKit Apple и MediaProjection Android оба фундаментально блокируют захват VoIP-аудио других приложений. Это значит, что на iOS мы не можем записать то, что вы слышите от Zoom, Meet или Teams, запущенных в другом приложении — а Android блокирует USAGE_VOICE_COMMUNICATION для AudioPlaybackCapture на тех же основаниях. Любой, кто продаёт вам «захват системного аудио» на mobile, либо лжёт, либо имеет квалификатор «jailbroken-устройство», который не указывает.
Что мы можем делать: захватывать ambient-микрофон с метаданными встречи, которые передаёт ваше приложение, прогонять его через Whisper (хостинг или BYOK) и выдавать одно-трековый транскрипт с разумной диаризацией speakers. Для очных встреч это весь продукт. Для удалённых встреч это «ваша сторона разговора, транскрибированная». Честно об ограничениях, выпускаем всё равно.
iOS. Нативный Swift, распространяется через Swift Package Manager + CocoaPods. Background audio mode (UIBackgroundModes: ["audio"]), красная пилюля статус-бара, чтобы пользователь всегда знал, что запись идёт (App Store guideline 5.1.1), и одноразовая модалка «у меня есть согласие всех участников», которую обязан показать интегратор — двенадцать штатов США требуют двустороннего согласия. Android. Kotlin-модуль на Maven Central, foreground service типа microphone, MediaCodec в Opus, тот же путь загрузки. Reference-приложения под MIT в github.com/meetbot/samples.
планируемая поверхность
Открывает аудио-сессию, пишет Opus-чанки на диск, загружает через background URLSession upload task.
Финализирует + эмитит completion delegate. Идентификатор записи совпадает с тем, что приходит на webhook.
Разрешение на микрофон с текстом, который ваше приложение может переопределить. Проверка entitlement background-audio в том же вызове.
UI-промпт первого запуска, который ваше приложение показывает один раз за сессию. Off-by-default в юрисдикциях, где это не требуется.
Maven Central. Foreground service на основе MediaProjection (тип microphone), Opus-кодирование через MediaCodec.
End-to-end демо-приложения для iOS + Android. MIT. Показывает поток загрузки, модалку согласия и поведение resume-on-resume-from-background.