
Xodera Plugins · Bubble Native
Xodera Audio Player Native
Добавьте чистый аудиоплеер к урокам, голосовым сообщениям или записям продуктов. Позвольте пользователям слушать, менять скорость и продолжать с сохранённого места.
Public beta guides · Haptics instructions are in its Bubble listing
Public beta offer: free Bubble install · 7-day card trial, then US$1.50/month per plugin/project.
Документация проверена 6 в ноябре 2026
Практические примеры
Голосовые заметки в разговоре поддержки
Простая ссылка на файл уводит пользователей из разговора и затрудняет просмотр длинных ответов.
`source_url = Selected Message’s audio URL`; `title = Selected Message’s sender label`; `subtitle = Selected Message’s timestamp`.
Разместите плеер в деталях выбранного сообщения. Позвольте пользователю Play/Pause, Seek до полезного момента и Set speed. Привяжите `is_active` к открытой беседе.
Используйте `is_playing`, `current_time` и `duration` для отображения прогресса. Сохраните идентификатор Message в вашем приложении, чтобы позднее событие не могло обновить другой разговор.
При `player_error` покажите `error_code` и предложите Reload source; сохраните сообщение и никогда не помечайте его как прослушанное после ошибки.
Только воспроизведение. Ваше приложение сохраняет прогресс прослушивания.
Возобновить языковой урок с сохранённой позиции
Обучающим нужно переиграть сложный отрывок, а не перезапускать весь урок.
`source_url = Current Lesson’s audio URL`; `title = Current Lesson’s name`; последняя позиция принадлежит этому обучающему и уроку в вашей базе данных.
После `ready` для текущего урока, Seek до сохранённых секунд и дождитесь, пока пользователь Play. Используйте Set speed для более медленного прослушивания. Сохраните прогресс с помощью собственного рабочего процесса приложения.
Прочитайте `current_time` и `duration`. При `playback_ended` ваше приложение может записать контрольный момент прослушивания для текущего Lesson.
Если источник изменился, отбросьте старую позицию, пока урок не будет загружен. Не рассматривайте завершение прослушивания как доказательство того, что обучающий понял материал или сдал тест.
Только воспроизведение. Ваше приложение сохраняет прогресс прослушивания.
Просмотрите аудиовложение с комментариями с метками времени
Редакторам или тренерам нужно перейти от комментария к соответствующему моменту в записи.
`source_url = Selected Review’s recording URL`; каждый принадлежащий приложению комментарий хранит своё значение в секундах; опциональный `waveform_peaks_json` содержит реальные пики для той же записи.
Нажмите на комментарий → Seek к его секундам → Play. При изменении источника замените или очистите пики и снова привяжите выбранный обзор.
Отобразите `current_time` рядом с вашим редактором комментариев. `waveform_available` сообщает вашему UI, доступны ли фактически предоставленные пики.
Ограничивайте устаревшие метки времени текущей длительностью в вашем приложении либо отклоняйте их. Когда реальных пиков нет, показывать обычный элемент управления прогрессом, а не вымышленный аудиоанализ.
Только воспроизведение. Ваше приложение сохраняет прогресс прослушивания.
Что работает сейчас
Public beta. Use the documented controls and actions; test supported formats, permissions and device behavior in your own native app. Browser preview does not validate native device output.
Создайте рабочий процесс
Используйте доступные ниже действия беты и протестируйте результат на целевых устройствах.
В этих примерах используются записи приложений, такие как Lesson, Message и Order. Замените их своими типами данных и именами элементов. Примерные медиа‑адреса необходимо заменить вашими файлами.
Добавьте аудиоэлемент. Установите source_url = Selected Message's audio_url, title = Selected Message's sender_label и subtitle = Selected Message's date_label.
Если у вас есть реальные данные волновой формы для этой записи, передайте их в waveform_peaks_json. В противном случае оставьте поле пустым.
Когда событие ready происходит, при необходимости используйте Seek с сохранённым числом секунд. Позвольте пользователю нажать Play. Используйте Pause, Seek и Set speed для кнопок плеера.
Покажите current_time и duration. На playback_ended сохраняйте прогресс прослушивания для выбранного сообщения или урока. Установите is_active в значение, указывающее, открыт ли этот просмотр.
Настройте один раз
Создайте или выберите ваш проект Bubble в BestPlugins → Dashboard → Plugins. Выберите Xodera Audio Player Native, скопируйте его ключ, затем откройте Bubble → Plugins → Xodera Audio Player Native и вставьте его в licensing_api_key. Сохраните один раз; затем используйте действия ниже. Каждый плагин в каждом проекте имеет свой собственный ключ.
Используйте прямой адрес аудиофайла, который приложение может открыть. Воспроизведение аудио не требует доступа к микрофону или камере.
Настройте один раз
- Создайте или выберите ваш проект Bubble в BestPlugins → Dashboard → Plugins.
- Выберите этот плагин и скопируйте его ключ проекта.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Добавьте элемент, выберите данные вашего приложения и постройте рабочий процесс ниже.
- In the dashboard, review and confirm the 7-day card trial for this plugin. It then costs US$1.50/month per app project, including development and production. Cancel before the trial ends to avoid the first charge.
Установка и подписка
For Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit and Haptics: free Bubble installation, a 7-day trial with a card, then US$1.50 per month per plugin and app project. Development and production are included, with no operation cap. File-size and feature limits still apply. Review billing and cancellation before confirming. Other plugins remain unavailable for purchase.
Сохраните результат в вашем приложении
Пример ListeningProgress: owner = Current User, lesson = Selected Lesson, seconds = Audio Player's current_time, duration = Audio Player's duration. Сохраняйте, когда пользователь ставит на паузу или покидает урок, а не при каждом обновлении экрана.
Сбой, отмена и восстановление
На player_error показывайте error_code и предлагайте Reload source. Сохраняйте запись сообщения или урока. При выборе другой записи загружайте её собственную сохранённую позицию. Возврат к просмотру не запускает воспроизведение автоматически.
Возможности и ограничения
Скорости воспроизведения: 1, 1.5 и 2. Громкость: 0–1. Данные волновой формы: 2–2048 значения между 0 и 1. Поддерживаемые аудиоформаты зависят от устройства. Плеер не записывает, не транскрибирует и не сохраняет аудио постоянно для офлайн‑использования. Воспроизведение в фоне и на экране блокировки не гарантировано.
Настройки, действия и результаты
Используйте эти имена в Bubble. Планируемые функции отмечены отдельно.
Доступные настройки бета-версии
Настройки элемента
source_url · textwaveform_peaks_json · texttitle · textsubtitle · textplayback_rate · numbervolume · numberloop · yes_nois_active · yes_nodisabled · yes_noui_text_json · textlanguage · textСостояния
player_status · textis_playing · yes_nois_loaded · yes_nois_buffering · yes_nocurrent_time · numberduration · numberprogress · numberplayback_rate · numbervolume · numberis_looping · yes_nowaveform_available · yes_nowaveform_status · texterror_code · textСобытия
readyplayback_startedplayback_pausedplayback_endedseek_completedrate_changedplayer_errorДействия и их входные данные
PlayPauseToggleStopSeekSet speedSet volumeReload sourceНастройки элемента · 11
source_urltext · По умолчанию: ""- Пример значения
https://bestplugins.online/native-samples/lesson.mp3 - Пример Bubble выражения
Selected Message's audio_url - Адрес выбранного аудио, видео или изображения. Используйте тип файла, поддерживаемый этим плагином.
waveform_peaks_jsontext · По умолчанию: ""- Пример значения
[0.1,0.4,0.2,0.7] - Пример Bubble выражения
Selected Message's waveform_peaks_json - Реальные нормализованные значения амплитуды для этой записи; оставьте пустым, если недоступно.
titletext · По умолчанию: ""- Пример значения
Lesson 4 — review - Пример Bubble выражения
Selected Lesson's name - Видимый текст приложения; пустое значение использует встроенный локализованный текст, где поддерживается. Без учётных данных.
subtitletext · По умолчанию: ""- Пример значения
Teacher · today - Пример Bubble выражения
Selected Message's sender_label - Видимый текст приложения; пустое значение использует встроенный локализованный текст, где поддерживается. Без учётных данных.
playback_ratenumber · По умолчанию: 1- Пример значения
1.5 - Пример Bubble выражения
Current User's listening_speed - Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
volumenumber · По умолчанию: 1- Пример значения
0.8 - Пример Bubble выражения
Volume Slider's value - Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
loopyes_no · По умолчанию: false- Пример значения
no - Пример Bubble выражения
Selected Lesson's repeat_enabled - Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
is_activeyes_no · По умолчанию: true- Пример значения
yes - Пример Bubble выражения
GuideHost's view_is_active (your yes/no custom state) - Установить «да», пока этот вид открыт. Установить «нет» при закрытии, чтобы воспроизведение или текущая работа могли остановиться.
disabledyes_no · По умолчанию: false- Пример значения
no - Пример Bubble выражения
GuideHost's is_busy (your yes/no custom state) - Отключить элемент, пока приложение занято или действие недоступно.
ui_text_jsontext · По умолчанию: ""- Пример значения
{} - Пример Bubble выражения
App Settings' player_labels_json (supported keys only) - Необязательный JSON с поддерживаемыми надписями кнопок. Оставьте пустым, чтобы использовать встроенный текст.
languagetext · По умолчанию: "auto"- Пример значения
uk - Пример Bubble выражения
Current User's preferred_language - Установите language=auto для следования за поддерживаемым устройством или языком браузера. Введите поддерживаемый код языка, чтобы выбрать его явно.
Действия и их входные данные · 8
Play
Нет параметров действия
Pause
Нет параметров действия
Toggle
Нет параметров действия
Stop
Нет параметров действия
Seek
secondsnumber · По умолчанию: —- Пример значения
12 - Пример Bubble выражения
Selected Comment's seconds - Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
Set speed
ratenumber · По умолчанию: —- Пример значения
1.5 - Пример Bubble выражения
Speed Dropdown's value - Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
Set volume
volumenumber · По умолчанию: —- Пример значения
0.8 - Пример Bubble выражения
Volume Slider's value - Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
Reload source
Нет параметров действия
Состояния и события
Состояния
player_status · textТекущий результат этого действия. Используйте соответствующее событие завершения перед сохранением успеха.
is_playing · yes_noТекущее значение выбранного элемента. Читайте его после связанного события.
is_loaded · yes_noТекущее значение выбранного элемента. Читайте его после связанного события.
is_buffering · yes_noТекущее значение выбранного элемента. Читайте его после связанного события.
current_time · numberТекущее значение выбранного элемента. Читайте его после связанного события.
duration · numberТекущее значение выбранного элемента. Читайте его после связанного события.
progress · numberТекущее значение выбранного элемента. Читайте его после связанного события.
playback_rate · numberТекущее значение выбранного элемента. Читайте его после связанного события.
volume · numberТекущее значение выбранного элемента. Читайте его после связанного события.
is_looping · yes_noТекущее значение выбранного элемента. Читайте его после связанного события.
waveform_available · yes_noТекущее значение выбранного элемента. Читайте его после связанного события.
waveform_status · textТекущий результат этого действия. Используйте соответствующее событие завершения перед сохранением успеха.
error_code · textИнформация об ошибке последнего действия. Показать полезное сообщение и предложить соответствующий повтор.
События
readyКогда происходит это событие, считайте связанные состояния из того же элемента.
playback_startedКогда происходит это событие, считайте связанные состояния из того же элемента.
playback_pausedКогда происходит это событие, считайте связанные состояния из того же элемента.
playback_endedКогда происходит это событие, считайте связанные состояния из того же элемента.
seek_completedКогда происходит это событие, считайте связанные состояния из того же элемента.
rate_changedКогда происходит это событие, считайте связанные состояния из того же элемента.
player_errorКогда происходит это событие, считайте связанные состояния из того же элемента.
Вопросы, которые задают разработчики
Создаёт ли он форму волны?
Нет. Предоставьте реальные нормализованные пики для этого источника; обычный прогресс работает без них.
Как работает подписка?
For Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit and Haptics: free Bubble installation, a 7-day trial with a card, then US$1.50 per month per plugin and app project. Development and production are included, with no operation cap. File-size and feature limits still apply. Review billing and cancellation before confirming. Other plugins remain unavailable for purchase.
Связанные руководства
Для получения помощи укажите, какой плагин и устройство вы используете, какое действие пытались выполнить и что произошло. Приведите пример без персональных данных. Никогда не делитесь своим ключом или личными файлами.