
© copyright Blender Foundation | durian.blender.org · CC BY 3.0
Xodera Plugins · Bubble Native
Xodera Video Player Native
Zeigen Sie Lektionen, Produktdemonstrationen und unterstützte Live‑Streams in Ihrer App an, mit Wiedergabesteuerungen, Vollbild und verfügbaren Sprachspuren.
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.
Dokumentation geprüft 6 November 2026
Praktische Beispiele
Kapitel‑Links in einer Lern‑App
Ein Lernender muss einen Schritt einer Demonstration erneut abspielen, ohne zu einem externen Player zu navigieren.
`source_url = Current Lesson’s video URL`; `poster_url = Current Lesson’s cover`; jedes Kapitel speichert eine von der App verwaltete Startzeit.
Kapitel‑Klick → bei Quellenwechsel warten Sie auf `source_loaded` → Seek zu `position_seconds` → Play. Verwenden Sie Set playback rate für eine detaillierte Demonstration und Enter fullscreen auf Anfrage.
Lesen Sie `position_seconds`, `duration_seconds` und `is_fullscreen`; Ihr Workflow speichert den Lernfortschritt nur für die aktuelle Quelle.
Bei `player_error` zeigen Sie `error_code` an, bewahren den Fortschritt und bieten Reload video an. Ein Abschluss‑Ereignis ist kein Nachweis dafür, dass eine Lektion oder Sicherheitsbewertung bestanden wurde.
Verwenden Sie direkte Videodateien oder unterstützte Streams. Dieser Player exportiert keine Videos.
Video‑Demonstrationen in Marktplatz‑Einträgen
Ein einzelnes Produktbild kann nicht erklären, wie ein Artikel funktioniert, aber ein externes Video unterbricht den Kaufablauf.
`source_url = Selected Listing’s demonstration URL`; `poster_url = its thumbnail`; `muted = yes` für eine bewusst stumme erste Vorschau.
Öffnen Sie den ausgewählten Eintrag → binden Sie dessen Video → Play nach einer Benutzeraktion. Bieten Sie Set muted für Ton und Enter fullscreen für genauere Ansicht an. Binden Sie `is_active` an das sichtbare Detail.
Verwenden Sie `has_source`, `is_buffering` und `status`, um ein fehlendes Video, Laden und bereitstehende Medien zu unterscheiden.
Bei Quellwechsel stoppen Sie die Anwendung des alten Fortschritts und der Track‑Auswahl. Zeigen Sie eine Thumbnail‑Alternative, wenn die ausgewählte Datei nicht unterstützt wird.
Verwenden Sie direkte Videodateien oder unterstützte Streams. Dieser Player exportiert keine Videos.
Wählen Sie verfügbare Sprachspuren in einem unterstützten Stream
Eine mehrsprachige App muss die Tracks anbieten, die eine bestimmte Quelle tatsächlich enthält.
`source_url = Selected Programme’s accepted stream URL`; die Quelle selbst muss kompatible Audio‑/Untertitel‑Tracks bereitstellen.
Bei `tracks_changed` lesen Sie das aktuelle `audio_tracks_json` und `subtitle_tracks_json`; erstellen Sie Auswahlmöglichkeiten in Ihrer App und rufen Sie Select audio track oder Select subtitle track mit dem aktuellen Index auf.
Verwenden Sie `selected_audio_index`, `selected_subtitle_index` und `source_generation`, um die Auswahl mit dieser Quelle zu verknüpfen.
Erstellen Sie die Auswahl nach jeder Quellenänderung neu. Wenn ein Track fehlt oder nicht unterstützt wird, behalten Sie den Standard‑Track bei und zeigen die Verfügbarkeit ehrlich an.
Verwenden Sie direkte Videodateien oder unterstützte Streams. Dieser Player exportiert keine Videos.
Was jetzt funktioniert
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.
Workflow erstellen
Verwenden Sie die unten verfügbaren Beta‑Aktionen und testen Sie das Ergebnis auf Ihren Zielgeräten.
Diese Beispiele verwenden App‑Datensätze wie Lesson, Message und Order. Ersetzen Sie sie durch Ihre eigenen Datentypen und Elementnamen. Beispiel‑Medienadressen müssen durch Ihre eigenen Dateien ersetzt werden.
Setzen Sie source_url = Selected Lesson's video_url und poster_url = Selected Lesson's poster_url. Verwenden Sie auto oder progressive für ein MP4; verwenden Sie hls für einen HLS‑Stream.
Nach playback_ready verwenden Sie Seek, um an der gespeicherten position_seconds fortzusetzen. Der Benutzer startet Play. Setzen Sie is_active, ob die Lektionen‑Ansicht geöffnet ist.
Fügen Sie Play, Pause, Seek, Set playback rate und Enter fullscreen‑Steuerelemente hinzu. Zeigen Sie position_seconds und duration_seconds an.
Nach tracks_changed zeigen Sie die verfügbaren audio_tracks_json- und subtitle_tracks_json-Auswahlmöglichkeiten für dieses Video an. Übergeben Sie den ausgewählten Index an Select audio track oder Select subtitle track. Bei ended speichern Sie den Fortschritt.
Einmal konfigurieren
Erstellen oder wählen Sie Ihr Bubble‑App‑Projekt in BestPlugins → Dashboard → Plugins. Wählen Sie Xodera Video Player Native, kopieren Sie dessen Schlüssel und öffnen Sie anschließend Bubble → Plugins → Xodera Video Player Native, um ihn in licensing_api_key einzufügen. Speichern Sie einmal; verwenden Sie dann die untenstehenden Aktionen. Jeder Plugin in jedem Projekt hat einen eigenen Schlüssel.
Verwenden Sie eine direkte Video‑ oder Stream‑Adresse. Eine YouTube‑ oder Vimeo‑Webseitenadresse ist keine direkte Videodatei. Für die Wiedergabe ist kein Kamera‑ oder Mikrofonzugriff erforderlich.
Einmal konfigurieren
- Erstellen oder wählen Sie Ihr Bubble‑App‑Projekt bei BestPlugins → Dashboard → Plugins.
- Wählen Sie dieses Plugin aus und kopieren Sie dessen Projektschlüssel.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Fügen Sie das Element hinzu, wählen Sie Ihre App‑Daten und erstellen Sie den untenstehenden Workflow.
- 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.
Installation und Abonnement
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.
Speichern Sie das Ergebnis in Ihrer App
Beispiel WatchProgress: owner = Current User, lesson = Selected Lesson, seconds = Video Player's position_seconds, duration = Video Player's duration_seconds. Speichern Sie nur für das aktuell ausgewählte Video. Track‑Indizes gehören zu diesem Video und sollten nicht als permanente Sprachwahl gespeichert werden.
Fehler, Abbruch und Wiederherstellung
Bei player_error zeigen Sie error_code an und bieten Reload video an. Es wird neu geladen, ohne die Wiedergabe zu starten. Die Auswahl einer anderen Quelle löscht die alten Track‑Auswahlen. Beim Verlassen der Ansicht wird das Video pausiert; der Benutzer drückt Play, um fortzusetzen.
Funktionen und Grenzen
Geschwindigkeiten: 0.5, 1, 1.5 und 2. Lautstärke: 0–1. Formate: auto, progressive, HLS und Android‑only DASH. Verfügbare Spuren hängen von der Datei ab. Verwenden Sie -1, um eine Spur auszuschalten; -2 bedeutet unbekannt und kann nicht ausgewählt werden. Keine Bearbeitung, Video‑Export, DRM, Bild‑in‑Bild oder permanenter Offline‑Cache.
Einstellungen, Aktionen und Ergebnisse
Verwenden Sie diese Namen in Bubble. Geplante Funktionen sind separat gekennzeichnet.
Verfügbare Beta‑Einstellungen
Elementeinstellungen
source_url · textposter_url · textcontent_type · textrate · numbervolume · numbermuted · yes/noloop · yes/nois_active · yes/nodisabled · yes/nonative_controls · yes/noui_text_json · textlanguage · textZustände
is_playing · yes/nois_buffering · yes/nopending_play · yes/nois_live · yes/nomuted · yes/noloop · yes/nohas_source · yes/nois_fullscreen · yes/noposition_seconds · numberduration_seconds · numbervolume · numberrate · numbersource_generation · numberselected_audio_index · numberselected_subtitle_index · numberstatus · textaudio_tracks_json · textsubtitle_tracks_json · texterror_code · texterror_message · textEreignisse
source_changedsource_loadedplayback_readyplaying_changedtime_changedendedtracks_changedfullscreen_changedplayer_errorAktionen und deren Eingaben
PlayPauseStop and rewindReload videoSeekSet volumeSet mutedSet playback rateEnter fullscreenSelect audio trackSelect subtitle trackElementeinstellungen · 12
source_urltext · Standard: ""- Beispielwert
https://bestplugins.online/native-samples/lesson.mp4 - Beispiel Bubble Ausdruck
Selected Lesson's video_url - Adresse der ausgewählten Audio-, Video- oder Bilddatei. Verwenden Sie einen Dateityp, den dieses Plugin unterstützt.
poster_urltext · Standard: ""- Beispielwert
https://bestplugins.online/native-samples/poster.jpg - Beispiel Bubble Ausdruck
Selected Lesson's poster_url - Verwenden Sie den Wert des aktuellen Geschäftsdatensatzes; prüfen Sie ihn anhand der untenstehenden Grenzen.
content_typetext · Standard: "auto"- Beispielwert
auto - Beispiel Bubble Ausdruck
Selected Lesson's video_content_type - Verwenden Sie den Wert des aktuellen Geschäftsdatensatzes; prüfen Sie ihn anhand der untenstehenden Grenzen.
ratenumber · Standard: 1- Beispielwert
1.5 - Beispiel Bubble Ausdruck
Speed Dropdown's value - Verwenden Sie den Wert des aktuellen Geschäftsdatensatzes; prüfen Sie ihn anhand der untenstehenden Grenzen.
volumenumber · Standard: 1- Beispielwert
0.8 - Beispiel Bubble Ausdruck
Volume Slider's value - Verwenden Sie den Wert des aktuellen Geschäftsdatensatzes; prüfen Sie ihn anhand der untenstehenden Grenzen.
mutedyes/no · Standard: false- Beispielwert
no - Beispiel Bubble Ausdruck
Mute Checkbox is checked - Verwenden Sie den Wert des aktuellen Geschäftsdatensatzes; prüfen Sie ihn anhand der untenstehenden Grenzen.
loopyes/no · Standard: false- Beispielwert
no - Beispiel Bubble Ausdruck
Selected Lesson's repeat_enabled - Verwenden Sie den Wert des aktuellen Geschäftsdatensatzes; prüfen Sie ihn anhand der untenstehenden Grenzen.
is_activeyes/no · Standard: true- Beispielwert
yes - Beispiel Bubble Ausdruck
GuideHost's view_is_active (your yes/no custom state) - Setzen Sie ja, solange diese Ansicht geöffnet ist. Setzen Sie nein beim Verlassen, damit die Wiedergabe oder die aktuelle Arbeit gestoppt werden kann.
disabledyes/no · Standard: false- Beispielwert
no - Beispiel Bubble Ausdruck
GuideHost's is_busy (your yes/no custom state) - Deaktivieren Sie das Element, solange Ihre App beschäftigt ist oder diese Aktion nicht verfügbar ist.
native_controlsyes/no · Standard: false- Beispielwert
no - Beispiel Bubble Ausdruck
App Settings' use_native_video_controls - Standard‑Video‑Steuerelemente des Geräts ein- oder ausblenden.
ui_text_jsontext · Standard: "{}"- Beispielwert
{} - Beispiel Bubble Ausdruck
App Settings' player_labels_json (supported keys only) - Optionales JSON mit unterstützten Schaltflächenbeschriftungen. Leer lassen, um den integrierten Text zu verwenden.
languagetext · Standard: "auto"- Beispielwert
uk - Beispiel Bubble Ausdruck
Current User's preferred_language - Setzen Sie language=auto, um einer unterstützten Geräte‑ oder Browsersprache zu folgen. Geben Sie einen unterstützten Sprachcode ein, um ihn ausdrücklich auszuwählen.
Aktionen und deren Eingaben · 11
Play
Keine Aktionsparameter
Pause
Keine Aktionsparameter
Stop and rewind
Keine Aktionsparameter
Reload video
Keine Aktionsparameter
Seek
position_secondsnumber · Standard: —- Beispielwert
45 - Beispiel Bubble Ausdruck
Selected Chapter's start_seconds - Verwenden Sie den Wert des aktuellen Geschäftsdatensatzes; prüfen Sie ihn anhand der untenstehenden Grenzen.
Set volume
volumenumber · Standard: —- Beispielwert
0.8 - Beispiel Bubble Ausdruck
Volume Slider's value - Verwenden Sie den Wert des aktuellen Geschäftsdatensatzes; prüfen Sie ihn anhand der untenstehenden Grenzen.
Set muted
mutedyes/no · Standard: —- Beispielwert
no - Beispiel Bubble Ausdruck
Mute Checkbox is checked - Verwenden Sie den Wert des aktuellen Geschäftsdatensatzes; prüfen Sie ihn anhand der untenstehenden Grenzen.
Set playback rate
ratenumber · Standard: —- Beispielwert
1.5 - Beispiel Bubble Ausdruck
Speed Dropdown's value - Verwenden Sie den Wert des aktuellen Geschäftsdatensatzes; prüfen Sie ihn anhand der untenstehenden Grenzen.
Enter fullscreen
Keine Aktionsparameter
Select audio track
indexnumber · Standard: —- Beispielwert
0 - Beispiel Bubble Ausdruck
Selected row's current_source_index - Verwenden Sie den Wert des aktuellen Geschäftsdatensatzes; prüfen Sie ihn anhand der untenstehenden Grenzen.
Select subtitle track
indexnumber · Standard: —- Beispielwert
0 - Beispiel Bubble Ausdruck
Selected row's current_source_index - Verwenden Sie den Wert des aktuellen Geschäftsdatensatzes; prüfen Sie ihn anhand der untenstehenden Grenzen.
Zustände und Ereignisse
Zustände
is_playing · yes/noAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
is_buffering · yes/noAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
pending_play · yes/noAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
is_live · yes/noAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
muted · yes/noAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
loop · yes/noAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
has_source · yes/noAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
is_fullscreen · yes/noAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
position_seconds · numberAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
duration_seconds · numberAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
volume · numberAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
rate · numberAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
source_generation · numberAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
selected_audio_index · numberAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
selected_subtitle_index · numberAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
status · textAktuelles Ergebnis dieser Aktion. Verwenden Sie das passende Abschluss‑Ereignis, bevor Sie den Erfolg speichern. idle,loading,readyToPlay,error
audio_tracks_json · textAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
subtitle_tracks_json · textAktueller Wert für das ausgewählte Element. Lesen Sie ihn nach dem zugehörigen Ereignis.
error_code · textFehlermeldung für die letzte Aktion. Zeigen Sie eine hilfreiche Nachricht an und bieten Sie den entsprechenden Wiederholungsversuch an.
error_message · textFehlermeldung für die letzte Aktion. Zeigen Sie eine hilfreiche Nachricht an und bieten Sie den entsprechenden Wiederholungsversuch an.
Ereignisse
source_changedWenn dieses Ereignis eintritt, lesen Sie die zugehörigen Zustände aus demselben Element.
source_loadedWenn dieses Ereignis eintritt, lesen Sie die zugehörigen Zustände aus demselben Element.
playback_readyWenn dieses Ereignis eintritt, lesen Sie die zugehörigen Zustände aus demselben Element.
playing_changedWenn dieses Ereignis eintritt, lesen Sie die zugehörigen Zustände aus demselben Element.
time_changedWenn dieses Ereignis eintritt, lesen Sie die zugehörigen Zustände aus demselben Element.
endedWenn dieses Ereignis eintritt, lesen Sie die zugehörigen Zustände aus demselben Element.
tracks_changedWenn dieses Ereignis eintritt, lesen Sie die zugehörigen Zustände aus demselben Element.
fullscreen_changedWenn dieses Ereignis eintritt, lesen Sie die zugehörigen Zustände aus demselben Element.
player_errorWenn dieses Ereignis eintritt, lesen Sie die zugehörigen Zustände aus demselben Element.
Fragen, die Entwickler stellen
Kann ich das ausgewählte Segment exportieren?
Nein. Seek und Vollbild ändern die Wiedergabe, nicht die Videodaten.
Wie funktioniert das Abonnement?
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.
Verwandte Anleitungen
Für Hilfe geben Sie an, welches Plugin und Gerät Sie verwenden, welche Aktion Sie versucht haben und was passiert ist. Verwenden Sie ein Beispiel ohne persönliche Daten. Teilen Sie niemals Ihren Schlüssel oder private Dateien.