
Xodera Plugins · Bubble Native
Xodera Audio Player Native
Añade un reproductor de audio claro a lecciones, mensajes de voz o registros de productos. Permite que la gente escuche, cambie la velocidad y continúe desde su posición guardada.
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.
Documentación revisada 6 noviembre 2026
Ejemplos prácticos
Notas de voz dentro de una conversación de soporte
Un enlace de archivo simple aleja a los usuarios de la conversación y dificulta la revisión de respuestas largas.
`source_url = Selected Message’s audio URL`; `title = Selected Message’s sender label`; `subtitle = Selected Message’s timestamp`.
Coloque el reproductor en el detalle del mensaje seleccionado. Permita que el usuario Play/Pause, Seek a un punto útil y Set speed. Vincule `is_active` a la conversación abierta.
Usar `is_playing`, `current_time` y `duration` para mostrar el progreso. Mantener el ID Message en su aplicación para que un evento tardío no pueda actualizar una conversación diferente.
En `player_error`, muestre `error_code` y ofrezca Reload source; preserve el mensaje y nunca lo marque como escuchado después de un error.
Solo reproducción. Su aplicación guarda el progreso de escucha.
Reanudar una lección de idioma en la posición guardada
Los estudiantes necesitan reproducir un pasaje difícil en lugar de reiniciar toda la lección.
`source_url = Current Lesson’s audio URL`; `title = Current Lesson’s name`; la última posición pertenece a ese estudiante y lección en su base de datos.
Después de `ready` para la lección actual, Seek a los segundos guardados y esperar a que el usuario Play. Usar Set speed para una escucha más lenta. Guardar el progreso con el flujo de trabajo de su propia aplicación.
Lea `current_time` y `duration`. En `playback_ended`, su aplicación puede registrar un hito de escucha para el Lesson actual.
Si la fuente cambió, descarte la posición anterior hasta que se cargue esa lección. No trate la finalización de la escucha como prueba de que el estudiante comprendió o aprobó una prueba.
Solo reproducción. Su aplicación guarda el progreso de escucha.
Revisar un archivo de audio con comentarios con marca de tiempo
Los editores o entrenadores necesitan saltar de un comentario al momento relevante en una grabación.
`source_url = Selected Review’s recording URL`; cada Comentario propiedad de la aplicación almacena su propio valor de segundos; opcionalmente `waveform_peaks_json` contiene picos reales para esa misma grabación.
Haga clic en un Comentario → Seek a sus segundos → Play. Al cambiar la fuente, reemplace o borre los picos y vuelva a enlazar la Reseña seleccionada.
Muestra `current_time` junto a tu compositor de comentarios. `waveform_available` indica a tu UI si los picos suministrados están disponibles.
Limitar o rechazar marcas de tiempo obsoletas contra la duración actual en su aplicación. Cuando no existan picos reales, mostrar el control de progreso ordinario en lugar de un análisis de audio inventado.
Solo reproducción. Su aplicación guarda el progreso de escucha.
Lo que funciona ahora
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.
Crea el flujo de trabajo
Utiliza las acciones beta disponibles a continuación y prueba el resultado en tus dispositivos objetivo.
Estos ejemplos usan registros de aplicación como Lesson, Message y Order. Reemplácelos con sus propios tipos de datos y nombres de elementos. Las direcciones de medios de ejemplo deben ser sustituidas por sus propios archivos.
Añadir el elemento de audio. Configurar source_url = Selected Message's audio_url, title = Selected Message's sender_label y subtitle = Selected Message's date_label.
Si tienes datos reales de forma de onda para esta grabación, pásalos en waveform_peaks_json. De lo contrario, déjalo vacío.
Cuando ocurra ready, usar Seek con el número de segundos guardado si es necesario. Permitir que el usuario presione Play. Usar Pause, Seek y Set speed para los botones del reproductor.
Mostrar current_time y duration. En playback_ended, guardar el progreso de escucha para el mensaje o lección seleccionados. Configurar is_active según si esta vista está abierta.
Configura una vez
Crea o elige tu proyecto de aplicación Bubble en BestPlugins → Dashboard → Plugins. Elige Xodera Audio Player Native, copia su clave, luego abre Bubble → Plugins → Xodera Audio Player Native y pégala en licensing_api_key. Guarda una vez; luego usa las acciones a continuación. Cada complemento en cada proyecto tiene su propia clave.
Utiliza una dirección directa de archivo de audio que la aplicación pueda abrir. Reproducir audio no requiere acceso a micrófono ni cámara.
Configura una vez
- Crea o elige tu proyecto de aplicación Bubble en BestPlugins → Dashboard → Plugins.
- Elige este complemento y copia su clave de proyecto.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Añade el elemento, elige los datos de tu aplicación y construye el flujo de trabajo a continuación.
- 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.
Instalación y suscripción
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.
Guarda el resultado en tu aplicación
Ejemplo ListeningProgress: owner = Current User, lesson = Selected Lesson, seconds = Audio Player's current_time, duration = Audio Player's duration. Guardar cuando el usuario pausa o abandona la lección, en lugar de en cada actualización de pantalla.
Fallo, cancelación y recuperación
En player_error, muestra error_code y ofrece Reload source. Conserva el registro del mensaje o lección. Cuando se selecciona una grabación diferente, carga su propia posición guardada. Volver a la vista no inicia la reproducción automáticamente.
Capacidades y límites
Velocidades de reproducción: 1, 1.5 y 2. Volumen: 0–1. Datos de forma de onda: valores 2–2048 entre 0 y 1. Los formatos de audio compatibles dependen del dispositivo. El reproductor no graba, transcribe ni guarda permanentemente audio para uso sin conexión. La reproducción en segundo plano y en la pantalla de bloqueo no está garantizada.
Configuraciones, acciones y resultados
Utilice estos nombres en Bubble. Las funciones planificadas están marcadas por separado.
Configuraciones beta disponibles
Configuración del elemento
source_url · textwaveform_peaks_json · texttitle · textsubtitle · textplayback_rate · numbervolume · numberloop · yes_nois_active · yes_nodisabled · yes_noui_text_json · textlanguage · textEstados
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 · textEventos
readyplayback_startedplayback_pausedplayback_endedseek_completedrate_changedplayer_errorAcciones y sus entradas
PlayPauseToggleStopSeekSet speedSet volumeReload sourceConfiguración del elemento · 11
source_urltext · Predeterminado: ""- Valor de ejemplo
https://bestplugins.online/native-samples/lesson.mp3 - Ejemplo de expresión Bubble
Selected Message's audio_url - Dirección del archivo de audio, video o imagen seleccionado. Usa un tipo de archivo que este complemento admita.
waveform_peaks_jsontext · Predeterminado: ""- Valor de ejemplo
[0.1,0.4,0.2,0.7] - Ejemplo de expresión Bubble
Selected Message's waveform_peaks_json - Valores de amplitud normalizada reales para esta grabación; déjalo vacío si no están disponibles.
titletext · Predeterminado: ""- Valor de ejemplo
Lesson 4 — review - Ejemplo de expresión Bubble
Selected Lesson's name - Texto visible de la aplicación; vacío usa la copia localizada incorporada donde sea compatible. Sin credenciales.
subtitletext · Predeterminado: ""- Valor de ejemplo
Teacher · today - Ejemplo de expresión Bubble
Selected Message's sender_label - Texto visible de la aplicación; vacío usa la copia localizada incorporada donde sea compatible. Sin credenciales.
playback_ratenumber · Predeterminado: 1- Valor de ejemplo
1.5 - Ejemplo de expresión Bubble
Current User's listening_speed - Utilice el valor del registro comercial actual; validarlo contra los límites a continuación.
volumenumber · Predeterminado: 1- Valor de ejemplo
0.8 - Ejemplo de expresión Bubble
Volume Slider's value - Utilice el valor del registro comercial actual; validarlo contra los límites a continuación.
loopyes_no · Predeterminado: false- Valor de ejemplo
no - Ejemplo de expresión Bubble
Selected Lesson's repeat_enabled - Utilice el valor del registro comercial actual; validarlo contra los límites a continuación.
is_activeyes_no · Predeterminado: true- Valor de ejemplo
yes - Ejemplo de expresión Bubble
GuideHost's view_is_active (your yes/no custom state) - Establece sí mientras esta vista está abierta. Establece no al salir, para que la reproducción o el trabajo actual puedan detenerse.
disabledyes_no · Predeterminado: false- Valor de ejemplo
no - Ejemplo de expresión Bubble
GuideHost's is_busy (your yes/no custom state) - Desactiva el elemento mientras tu aplicación está ocupada o esta acción no está disponible.
ui_text_jsontext · Predeterminado: ""- Valor de ejemplo
{} - Ejemplo de expresión Bubble
App Settings' player_labels_json (supported keys only) - JSON opcional con etiquetas de botón compatibles. Déjalo vacío para usar el texto incorporado.
languagetext · Predeterminado: "auto"- Valor de ejemplo
uk - Ejemplo de expresión Bubble
Current User's preferred_language - Configurar language=auto para seguir un dispositivo o idioma de navegador compatible. Introduzca un código de idioma compatible para seleccionarlo explícitamente.
Acciones y sus entradas · 8
Play
Sin parámetros de acción
Pause
Sin parámetros de acción
Toggle
Sin parámetros de acción
Stop
Sin parámetros de acción
Seek
secondsnumber · Predeterminado: —- Valor de ejemplo
12 - Ejemplo de expresión Bubble
Selected Comment's seconds - Utilice el valor del registro comercial actual; validarlo contra los límites a continuación.
Set speed
ratenumber · Predeterminado: —- Valor de ejemplo
1.5 - Ejemplo de expresión Bubble
Speed Dropdown's value - Utilice el valor del registro comercial actual; validarlo contra los límites a continuación.
Set volume
volumenumber · Predeterminado: —- Valor de ejemplo
0.8 - Ejemplo de expresión Bubble
Volume Slider's value - Utilice el valor del registro comercial actual; validarlo contra los límites a continuación.
Reload source
Sin parámetros de acción
Estados y eventos
Estados
player_status · textResultado actual de esta acción. Usa el evento de finalización correspondiente antes de guardar el éxito.
is_playing · yes_noValor actual del elemento seleccionado. Léelo después del evento relacionado.
is_loaded · yes_noValor actual del elemento seleccionado. Léelo después del evento relacionado.
is_buffering · yes_noValor actual del elemento seleccionado. Léelo después del evento relacionado.
current_time · numberValor actual del elemento seleccionado. Léelo después del evento relacionado.
duration · numberValor actual del elemento seleccionado. Léelo después del evento relacionado.
progress · numberValor actual del elemento seleccionado. Léelo después del evento relacionado.
playback_rate · numberValor actual del elemento seleccionado. Léelo después del evento relacionado.
volume · numberValor actual del elemento seleccionado. Léelo después del evento relacionado.
is_looping · yes_noValor actual del elemento seleccionado. Léelo después del evento relacionado.
waveform_available · yes_noValor actual del elemento seleccionado. Léelo después del evento relacionado.
waveform_status · textResultado actual de esta acción. Usa el evento de finalización correspondiente antes de guardar el éxito.
error_code · textInformación de error de la última acción. Muestra un mensaje útil y ofrece el reintento correspondiente.
Eventos
readyCuando ocurra este evento, lea los estados relacionados del mismo elemento.
playback_startedCuando ocurra este evento, lea los estados relacionados del mismo elemento.
playback_pausedCuando ocurra este evento, lea los estados relacionados del mismo elemento.
playback_endedCuando ocurra este evento, lea los estados relacionados del mismo elemento.
seek_completedCuando ocurra este evento, lea los estados relacionados del mismo elemento.
rate_changedCuando ocurra este evento, lea los estados relacionados del mismo elemento.
player_errorCuando ocurra este evento, lea los estados relacionados del mismo elemento.
Preguntas que hacen los desarrolladores
¿Crea la forma de onda?
No. Proporcione picos normalizados reales para esa fuente; el progreso ordinario funciona sin ellos.
¿Cómo funciona la suscripción?
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.
Guías relacionadas
Para obtener ayuda, indíquenos qué plugin y dispositivo utiliza, la acción que intentó y lo que ocurrió. Use un ejemplo sin datos personales. Nunca comparta su clave ni archivos privados.