Interfejs Audio Player z przykładowym tytułem.
Interfejs Audio Player z przykładowym tytułem.
← Wszystkie natywne przewodniki

Xodera Plugins · Bubble Native

Xodera Audio Player Native

Dodaj przejrzysty odtwarzacz audio do lekcji, wiadomości głosowych lub rekordów produktów. Pozwól użytkownikom słuchać, zmieniać prędkość i kontynuować od zapisanej pozycji.

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.

Dokumentacja przeglądnięta 6 listopad 2026

Praktyczne przykłady

Notatki głosowe w rozmowie wsparcia

Zwykły link do pliku odsyła użytkowników poza rozmowę i utrudnia przeglądanie długich odpowiedzi.

`source_url = Selected Message’s audio URL`; `title = Selected Message’s sender label`; `subtitle = Selected Message’s timestamp`.

Umieść odtwarzacz w szczegółach wybranej wiadomości. Pozwól użytkownikowi Play/Pause, Seek do przydatnego punktu i Set speed. Powiąż `is_active` z otwartą rozmową.

Użyj `is_playing`, `current_time` i `duration`, aby wyświetlić postęp. Zachowaj identyfikator Message w aplikacji, aby późniejsze zdarzenie nie mogło zaktualizować innej konwersacji.

W przypadku `player_error` pokaż `error_code` i zaoferuj Reload source; zachowaj wiadomość i nigdy nie oznaczaj jej jako odsłuchanej po błędzie.

Tylko odtwarzanie. Twoja aplikacja zapisuje postęp słuchania.

Wznów lekcję językową w zapisanej pozycji

Uczniowie muszą odtworzyć trudny fragment zamiast rozpoczynać całą lekcję od początku.

`source_url = Current Lesson’s audio URL`; `title = Current Lesson’s name`; ostatnia pozycja należy do tego ucznia i lekcji w Twojej bazie danych.

Po `ready` dla bieżącej lekcji, Seek do zapisanych sekund i poczekaj, aż użytkownik Play. Użyj Set speed do wolniejszego słuchania. Zapisz postęp własnym przepływem w aplikacji.

Odczytaj `current_time` i `duration`. W przypadku `playback_ended` Twoja aplikacja może zarejestrować kamień milowy słuchania dla bieżącego Lesson.

Jeśli źródło się zmieniło, odrzuć starą pozycję, dopóki lekcja nie zostanie załadowana. Nie traktuj zakończenia słuchania jako dowodu, że uczeń zrozumiał lub zdał test.

Tylko odtwarzanie. Twoja aplikacja zapisuje postęp słuchania.

Przejrzyj załącznik audio z komentarzami ze znacznikami czasu

Redaktorzy lub trenerzy muszą przejść z komentarza do odpowiedniego momentu w nagraniu.

`source_url = Selected Review’s recording URL`; każdy komentarz należący do aplikacji przechowuje własną wartość sekund; opcjonalny `waveform_peaks_json` zawiera rzeczywiste szczyty dla tego samego nagrania.

Kliknij komentarz → Seek do jego sekund → Play. Po zmianie źródła zamień lub wyczyść szczyty i ponownie powiąż wybraną recenzję.

Wyświetl `current_time` obok edytora komentarzy. `waveform_available` informuje interfejs, czy dostępne są rzeczywiste dostarczone szczyty.

Ogranicz lub odrzuć przestarzałe znaczniki czasu względem bieżącego czasu trwania w aplikacji. Gdy nie ma rzeczywistych szczytów, wyświetl zwykły pasek postępu zamiast wymyślonej analizy audio.

Tylko odtwarzanie. Twoja aplikacja zapisuje postęp słuchania.

Co działa teraz

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.

Zbuduj przepływ pracy

Użyj dostępnych poniżej akcji beta i przetestuj wynik na docelowych urządzeniach.

Te przykłady używają rekordów aplikacji, takich jak Lesson, Message i Order. Zastąp je własnymi typami danych i nazwami elementów. Przykładowe adresy mediów należy zastąpić własnymi plikami.

  1. Dodaj element audio. Ustaw source_url = Selected Message's audio_url, title = Selected Message's sender_label i subtitle = Selected Message's date_label.

  2. Jeśli masz rzeczywiste dane fali dźwiękowej dla tego nagrania, przekaż je w waveform_peaks_json. W przeciwnym razie pozostaw puste.

  3. Gdy wystąpi zdarzenie ready, użyj Seek z zapisaną liczbą sekund, jeśli potrzebne. Pozwól użytkownikowi nacisnąć Play. Użyj Pause, Seek i Set speed jako przyciski odtwarzacza.

  4. Pokaż current_time i duration. Przy playback_ended zapisz postęp słuchania dla wybranej wiadomości lub lekcji. Ustaw is_active na informację, czy ten widok jest otwarty.

Diagram przepływu pracy — nie zrzut ekranu aplikacji

Skonfiguruj raz

Utwórz lub wybierz swój projekt aplikacji Bubble w BestPlugins → Dashboard → Plugins. Wybierz Xodera Audio Player Native, skopiuj jego klucz, a następnie otwórz Bubble → Plugins → Xodera Audio Player Native i wklej go do licensing_api_key. Zapisz raz; potem użyj poniższych akcji. Każda wtyczka w każdym projekcie ma własny klucz.

Użyj bezpośredniego adresu pliku audio, który aplikacja może otworzyć. Odtwarzanie audio nie wymaga dostępu do mikrofonu ani kamery.

Skonfiguruj raz
  1. Utwórz lub wybierz swój projekt aplikacji Bubble w BestPlugins → Dashboard → Plugins.
  2. Wybierz tę wtyczkę i skopiuj jej klucz projektu.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Dodaj element, wybierz dane aplikacji i zbuduj poniższy przepływ pracy.
  5. 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.
Instalacja i subskrypcja

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.

Zapisz wynik w swojej aplikacji

Przykład ListeningProgress: owner = Current User, lesson = Selected Lesson, seconds = Audio Player's current_time, duration = Audio Player's duration. Zapisuj, gdy użytkownik wstrzyma lub opuści lekcję, zamiast przy każdej aktualizacji ekranu.

Błąd, anulowanie i odzyskiwanie

W player_error pokaż error_code i zaoferuj Reload source. Zachowaj rekord wiadomości lub lekcji. Gdy zostanie wybrane inne nagranie, wczytaj jego własną zapisaną pozycję. Powrót do widoku nie rozpoczyna odtwarzania automatycznie.

Możliwości i ograniczenia

Prędkości odtwarzania: 1, 1.5 i 2. Głośność: 0–1. Dane fali dźwiękowej: 2–2048 wartości między 0 a 1. Obsługiwane formaty audio zależą od urządzenia. Odtwarzacz nie nagrywa, nie transkrybuje ani nie zapisuje trwale audio do użytku offline. Odtwarzanie w tle i na ekranie blokady nie jest gwarantowane.

Ustawienia, akcje i wyniki

Użyj tych nazw w Bubble. Planowane funkcje są oznaczone osobno.

Dostępne ustawienia beta

Ustawienia elementu

source_url · textwaveform_peaks_json · texttitle · textsubtitle · textplayback_rate · numbervolume · numberloop · yes_nois_active · yes_nodisabled · yes_noui_text_json · textlanguage · text

Stany

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

Zdarzenia

readyplayback_startedplayback_pausedplayback_endedseek_completedrate_changedplayer_error

Akcje i ich wejścia

PlayPauseToggleStopSeekSet speedSet volumeReload source
Ustawienia elementu · 11
source_urltext · Domyślne: ""
Przykładowa wartośćhttps://bestplugins.online/native-samples/lesson.mp3
Przykładowe wyrażenie BubbleSelected Message's audio_url
Adres wybranego pliku audio, wideo lub obrazu. Użyj typu pliku obsługiwanego przez tę wtyczkę.
waveform_peaks_jsontext · Domyślne: ""
Przykładowa wartość[0.1,0.4,0.2,0.7]
Przykładowe wyrażenie BubbleSelected Message's waveform_peaks_json
Rzeczywiste znormalizowane wartości amplitudy tego nagrania; pozostaw puste, jeśli niedostępne.
titletext · Domyślne: ""
Przykładowa wartośćLesson 4 — review
Przykładowe wyrażenie BubbleSelected Lesson's name
Widoczny tekst aplikacji; puste używa wbudowanej zlokalizowanej wersji, jeśli jest dostępna. Brak danych uwierzytelniających.
subtitletext · Domyślne: ""
Przykładowa wartośćTeacher · today
Przykładowe wyrażenie BubbleSelected Message's sender_label
Widoczny tekst aplikacji; puste używa wbudowanej zlokalizowanej wersji, jeśli jest dostępna. Brak danych uwierzytelniających.
playback_ratenumber · Domyślne: 1
Przykładowa wartość1.5
Przykładowe wyrażenie BubbleCurrent User's listening_speed
Użyj wartości bieżącego rekordu biznesowego; zweryfikuj ją względem poniższych limitów.
volumenumber · Domyślne: 1
Przykładowa wartość0.8
Przykładowe wyrażenie BubbleVolume Slider's value
Użyj wartości bieżącego rekordu biznesowego; zweryfikuj ją względem poniższych limitów.
loopyes_no · Domyślne: false
Przykładowa wartośćno
Przykładowe wyrażenie BubbleSelected Lesson's repeat_enabled
Użyj wartości bieżącego rekordu biznesowego; zweryfikuj ją względem poniższych limitów.
is_activeyes_no · Domyślne: true
Przykładowa wartośćyes
Przykładowe wyrażenie BubbleGuideHost's view_is_active (your yes/no custom state)
Ustaw tak, gdy ten widok jest otwarty. Ustaw nie przy zamykaniu, aby odtwarzanie lub bieżąca praca mogły się zatrzymać.
disabledyes_no · Domyślne: false
Przykładowa wartośćno
Przykładowe wyrażenie BubbleGuideHost's is_busy (your yes/no custom state)
Wyłącz element, gdy aplikacja jest zajęta lub akcja jest niedostępna.
ui_text_jsontext · Domyślne: ""
Przykładowa wartość{}
Przykładowe wyrażenie BubbleApp Settings' player_labels_json (supported keys only)
Opcjonalny JSON z obsługiwanymi etykietami przycisków. Pozostaw puste, aby użyć wbudowanego tekstu.
languagetext · Domyślne: "auto"
Przykładowa wartośćuk
Przykładowe wyrażenie BubbleCurrent User's preferred_language
Ustaw language=auto, aby podążał za obsługiwanym językiem urządzenia lub przeglądarki. Wprowadź obsługiwany kod języka, aby wybrać go explicite.
Akcje i ich wejścia · 8
Play

Brak parametrów akcji

Pause

Brak parametrów akcji

Toggle

Brak parametrów akcji

Stop

Brak parametrów akcji

Seek
secondsnumber · Domyślne: —
Przykładowa wartość12
Przykładowe wyrażenie BubbleSelected Comment's seconds
Użyj wartości bieżącego rekordu biznesowego; zweryfikuj ją względem poniższych limitów.
Set speed
ratenumber · Domyślne: —
Przykładowa wartość1.5
Przykładowe wyrażenie BubbleSpeed Dropdown's value
Użyj wartości bieżącego rekordu biznesowego; zweryfikuj ją względem poniższych limitów.
Set volume
volumenumber · Domyślne: —
Przykładowa wartość0.8
Przykładowe wyrażenie BubbleVolume Slider's value
Użyj wartości bieżącego rekordu biznesowego; zweryfikuj ją względem poniższych limitów.
Reload source

Brak parametrów akcji

Stany i zdarzenia

Stany

player_status · text

Aktualny wynik tej akcji. Użyj pasującego zdarzenia zakończenia przed zapisaniem sukcesu.

is_playing · yes_no

Aktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.

is_loaded · yes_no

Aktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.

is_buffering · yes_no

Aktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.

current_time · number

Aktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.

duration · number

Aktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.

progress · number

Aktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.

playback_rate · number

Aktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.

volume · number

Aktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.

is_looping · yes_no

Aktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.

waveform_available · yes_no

Aktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.

waveform_status · text

Aktualny wynik tej akcji. Użyj pasującego zdarzenia zakończenia przed zapisaniem sukcesu.

error_code · text

Informacje o błędzie ostatniej akcji. Wyświetl pomocną wiadomość i zaoferuj odpowiednią ponowną próbę.

Zdarzenia

ready

Gdy to zdarzenie wystąpi, odczytaj powiązane stany z tego samego elementu.

playback_started

Gdy to zdarzenie wystąpi, odczytaj powiązane stany z tego samego elementu.

playback_paused

Gdy to zdarzenie wystąpi, odczytaj powiązane stany z tego samego elementu.

playback_ended

Gdy to zdarzenie wystąpi, odczytaj powiązane stany z tego samego elementu.

seek_completed

Gdy to zdarzenie wystąpi, odczytaj powiązane stany z tego samego elementu.

rate_changed

Gdy to zdarzenie wystąpi, odczytaj powiązane stany z tego samego elementu.

player_error

Gdy to zdarzenie wystąpi, odczytaj powiązane stany z tego samego elementu.

Pytania, które zadają programiści

Czy tworzy wykres fali?

Nie. Dostarcz rzeczywiste znormalizowane szczyty dla tego źródła; zwykły postęp działa bez nich.

Jak działa subskrypcja?

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.

Powiązane przewodniki

Aby uzyskać pomoc, podaj, której wtyczki i urządzenia używasz, jaką akcję podjąłeś i co się stało. Użyj przykładu bez danych osobowych. Nigdy nie udostępniaj swojego klucza ani prywatnych plików.