
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.
Dodaj element audio. Ustaw source_url = Selected Message's audio_url, title = Selected Message's sender_label i subtitle = Selected Message's date_label.
Jeśli masz rzeczywiste dane fali dźwiękowej dla tego nagrania, przekaż je w waveform_peaks_json. W przeciwnym razie pozostaw puste.
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.
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.
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
- Utwórz lub wybierz swój projekt aplikacji Bubble w BestPlugins → Dashboard → Plugins.
- Wybierz tę wtyczkę i skopiuj jej klucz projektu.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Dodaj element, wybierz dane aplikacji i zbuduj poniższy przepływ pracy.
- 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 · textStany
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 · textZdarzenia
readyplayback_startedplayback_pausedplayback_endedseek_completedrate_changedplayer_errorAkcje i ich wejścia
PlayPauseToggleStopSeekSet speedSet volumeReload sourceUstawienia elementu · 11
source_urltext · Domyślne: ""- Przykładowa wartość
https://bestplugins.online/native-samples/lesson.mp3 - Przykładowe wyrażenie Bubble
Selected 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 Bubble
Selected 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 Bubble
Selected 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 Bubble
Selected 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 Bubble
Current 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 Bubble
Volume 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 Bubble
Selected 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 Bubble
GuideHost'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 Bubble
GuideHost'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 Bubble
App 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 Bubble
Current 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 Bubble
Selected 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 Bubble
Speed 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 Bubble
Volume 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 · textAktualny wynik tej akcji. Użyj pasującego zdarzenia zakończenia przed zapisaniem sukcesu.
is_playing · yes_noAktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.
is_loaded · yes_noAktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.
is_buffering · yes_noAktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.
current_time · numberAktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.
duration · numberAktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.
progress · numberAktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.
playback_rate · numberAktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.
volume · numberAktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.
is_looping · yes_noAktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.
waveform_available · yes_noAktualna wartość wybranego elementu. Odczytaj ją po powiązanym zdarzeniu.
waveform_status · textAktualny wynik tej akcji. Użyj pasującego zdarzenia zakończenia przed zapisaniem sukcesu.
error_code · textInformacje o błędzie ostatniej akcji. Wyświetl pomocną wiadomość i zaoferuj odpowiednią ponowną próbę.
Zdarzenia
readyGdy to zdarzenie wystąpi, odczytaj powiązane stany z tego samego elementu.
playback_startedGdy to zdarzenie wystąpi, odczytaj powiązane stany z tego samego elementu.
playback_pausedGdy to zdarzenie wystąpi, odczytaj powiązane stany z tego samego elementu.
playback_endedGdy to zdarzenie wystąpi, odczytaj powiązane stany z tego samego elementu.
seek_completedGdy to zdarzenie wystąpi, odczytaj powiązane stany z tego samego elementu.
rate_changedGdy to zdarzenie wystąpi, odczytaj powiązane stany z tego samego elementu.
player_errorGdy 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.