
Xodera Plugins · Bubble Native
Xodera Audio Player Native
Thêm một trình phát âm thanh rõ ràng vào bài học, tin nhắn thoại hoặc bản ghi sản phẩm. Cho phép người dùng nghe, thay đổi tốc độ và tiếp tục từ vị trí đã lưu.
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.
Tài liệu được rà soát ngày 6 tháng mười một năm 2026
Ví dụ thực tế
Ghi chú thoại trong cuộc trò chuyện hỗ trợ
Liên kết tệp đơn giản đưa người dùng ra khỏi cuộc trò chuyện và khiến các phản hồi dài khó xem lại.
`source_url = Selected Message’s audio URL`; `title = Selected Message’s sender label`; `subtitle = Selected Message’s timestamp`.
Đặt trình phát trong chi tiết tin nhắn đã chọn. Cho phép người dùng Play/Pause, Seek tới một điểm hữu ích và Set speed. Gắn `is_active` vào cuộc trò chuyện đang mở.
Sử dụng `is_playing`, `current_time` và `duration` để hiển thị tiến độ. Giữ lại ID Message trong ứng dụng của bạn để sự kiện trễ không thể cập nhật cuộc trò chuyện khác.
Khi `player_error`, hiển thị `error_code` và đề xuất Reload source; giữ lại tin nhắn và không bao giờ đánh dấu đã nghe sau lỗi.
Chỉ phát lại. Ứng dụng của bạn lưu tiến độ nghe.
Tiếp tục bài học ngôn ngữ tại vị trí đã lưu
Người học cần phát lại đoạn khó thay vì khởi động lại toàn bộ bài học.
`source_url = Current Lesson’s audio URL`; `title = Current Lesson’s name`; vị trí cuối cùng thuộc về người học và bài học đó trong cơ sở dữ liệu của bạn.
Sau `ready` cho bài học hiện tại, Seek tới giây đã lưu và chờ người dùng Play. Sử dụng Set speed để nghe chậm hơn. Lưu tiến độ bằng quy trình làm việc của ứng dụng của bạn.
Đọc `current_time` và `duration`. Khi `playback_ended`, ứng dụng của bạn có thể ghi lại một cột mốc nghe cho Lesson hiện tại.
Nếu nguồn thay đổi, loại bỏ vị trí cũ cho đến khi bài học đó được tải. Không coi việc hoàn thành nghe là bằng chứng người học đã hiểu hoặc vượt qua bài kiểm tra.
Chỉ phát lại. Ứng dụng của bạn lưu tiến độ nghe.
Xem lại tệp âm thanh đính kèm với các bình luận có dấu thời gian
Biên tập viên hoặc huấn luyện viên cần chuyển từ một bình luận tới thời điểm liên quan trong bản ghi.
`source_url = Selected Review’s recording URL`; mỗi Bình luận thuộc ứng dụng lưu giá trị giây riêng; `waveform_peaks_json` tùy chọn chứa các đỉnh thực cho cùng bản ghi đó.
Nhấp vào một Bình luận → Seek tới giây của nó → Play. Khi nguồn thay đổi, thay thế hoặc xóa các đỉnh và gắn lại Đánh giá đã chọn.
Hiển thị `current_time` bên cạnh trình soạn thảo bình luận của bạn. `waveform_available` cho UI của bạn biết liệu các đỉnh cung cấp thực có sẵn hay không.
Giới hạn hoặc từ chối các dấu thời gian cũ so với thời lượng hiện tại trong ứng dụng của bạn. Khi không có đỉnh thực tế, hiển thị điều khiển tiến trình thông thường thay vì phân tích âm thanh giả tạo.
Chỉ phát lại. Ứng dụng của bạn lưu tiến độ nghe.
Những gì hiện đang hoạt động
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.
Xây dựng quy trình làm việc
Sử dụng các hành động beta có sẵn bên dưới và kiểm tra kết quả trên thiết bị mục tiêu của bạn.
Các ví dụ này sử dụng các bản ghi ứng dụng như Lesson, Message và Order. Hãy thay thế chúng bằng các kiểu dữ liệu và tên phần tử của bạn. Các địa chỉ phương tiện mẫu phải được thay thế bằng các tệp của bạn.
Thêm phần tử âm thanh. Đặt source_url = Selected Message's audio_url, title = Selected Message's sender_label và subtitle = Selected Message's date_label.
Nếu bạn có dữ liệu dạng sóng thực cho bản ghi này, truyền vào waveform_peaks_json. Nếu không, để trống.
Khi sự kiện ready xảy ra, sử dụng Seek với số giây đã lưu nếu cần. Cho phép người dùng nhấn Play. Sử dụng Pause, Seek và Set speed cho các nút của trình phát.
Hiển thị current_time và duration. Khi playback_ended, lưu tiến độ nghe cho tin nhắn hoặc bài học đã chọn. Đặt is_active theo việc chế độ xem này có đang mở hay không.
Cấu hình một lần
Tạo hoặc chọn dự án ứng dụng Bubble của bạn trong BestPlugins → Dashboard → Plugins. Chọn Xodera Audio Player Native, sao chép khóa của nó, sau đó mở Bubble → Plugins → Xodera Audio Player Native và dán vào licensing_api_key. Lưu một lần; sau đó sử dụng các hành động bên dưới. Mỗi plugin trong mỗi dự án có khóa riêng của nó.
Sử dụng địa chỉ tệp âm thanh trực tiếp mà ứng dụng có thể mở. Phát âm thanh không yêu cầu quyền truy cập microphone hoặc camera.
Cấu hình một lần
- Tạo hoặc chọn dự án ứng dụng Bubble của bạn tại BestPlugins → Dashboard → Plugins.
- Chọn plugin này và sao chép khóa dự án của nó.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Thêm phần tử, chọn dữ liệu ứng dụng của bạn và xây dựng quy trình làm việc bên dưới.
- 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.
Cài đặt và đăng ký
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.
Lưu kết quả vào ứng dụng của bạn
Ví dụ ListeningProgress: owner = Current User, lesson = Selected Lesson, seconds = Audio Player's current_time, duration = Audio Player's duration. Lưu khi người dùng tạm dừng hoặc rời khỏi bài học, thay vì trên mỗi cập nhật màn hình.
Lỗi, hủy và khôi phục
Trên player_error, hiển thị error_code và đề xuất Reload source. Giữ lại tin nhắn hoặc bản ghi bài học. Khi một bản ghi khác được chọn, tải vị trí đã lưu riêng của nó. Quay lại chế độ xem sẽ không tự động bắt đầu phát.
Khả năng và giới hạn
Tốc độ phát: 1, 1.5 và 2. Âm lượng: 0–1. Dữ liệu dạng sóng: 2–2048 giá trị giữa 0 và 1. Các định dạng âm thanh được hỗ trợ phụ thuộc vào thiết bị. Trình phát không ghi, chuyển văn bản hay lưu vĩnh viễn âm thanh để sử dụng offline. Phát nền và trên màn hình khóa không được đảm bảo.
Cài đặt, hành động và kết quả
Sử dụng các tên này trong Bubble. Các tính năng dự kiến được đánh dấu riêng.
Cài đặt beta khả dụng
Cài đặt phần tử
source_url · textwaveform_peaks_json · texttitle · textsubtitle · textplayback_rate · numbervolume · numberloop · yes_nois_active · yes_nodisabled · yes_noui_text_json · textlanguage · textTrạng thái
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 · textSự kiện
readyplayback_startedplayback_pausedplayback_endedseek_completedrate_changedplayer_errorHành động và đầu vào của chúng
PlayPauseToggleStopSeekSet speedSet volumeReload sourceCài đặt phần tử · 11
source_urltext · Mặc định: ""- Giá trị ví dụ
https://bestplugins.online/native-samples/lesson.mp3 - Ví dụ biểu thức Bubble
Selected Message's audio_url - Địa chỉ của tệp âm thanh, video hoặc hình ảnh đã chọn. Sử dụng loại tệp mà plugin này hỗ trợ.
waveform_peaks_jsontext · Mặc định: ""- Giá trị ví dụ
[0.1,0.4,0.2,0.7] - Ví dụ biểu thức Bubble
Selected Message's waveform_peaks_json - Giá trị biên độ chuẩn hoá thực cho bản ghi này; để trống nếu không có.
titletext · Mặc định: ""- Giá trị ví dụ
Lesson 4 — review - Ví dụ biểu thức Bubble
Selected Lesson's name - Văn bản hiển thị trong ứng dụng; để trống sẽ dùng văn bản bản địa hóa tích hợp khi được hỗ trợ. Không nhập thông tin xác thực.
subtitletext · Mặc định: ""- Giá trị ví dụ
Teacher · today - Ví dụ biểu thức Bubble
Selected Message's sender_label - Văn bản hiển thị trong ứng dụng; để trống sẽ dùng văn bản bản địa hóa tích hợp khi được hỗ trợ. Không nhập thông tin xác thực.
playback_ratenumber · Mặc định: 1- Giá trị ví dụ
1.5 - Ví dụ biểu thức Bubble
Current User's listening_speed - Sử dụng giá trị của bản ghi kinh doanh hiện tại; xác thực nó so với các giới hạn bên dưới.
volumenumber · Mặc định: 1- Giá trị ví dụ
0.8 - Ví dụ biểu thức Bubble
Volume Slider's value - Sử dụng giá trị của bản ghi kinh doanh hiện tại; xác thực nó so với các giới hạn bên dưới.
loopyes_no · Mặc định: false- Giá trị ví dụ
no - Ví dụ biểu thức Bubble
Selected Lesson's repeat_enabled - Sử dụng giá trị của bản ghi kinh doanh hiện tại; xác thực nó so với các giới hạn bên dưới.
is_activeyes_no · Mặc định: true- Giá trị ví dụ
yes - Ví dụ biểu thức Bubble
GuideHost's view_is_active (your yes/no custom state) - Đặt yes khi chế độ xem này đang mở. Đặt no khi rời khỏi, để có thể dừng việc phát hoặc công việc hiện tại.
disabledyes_no · Mặc định: false- Giá trị ví dụ
no - Ví dụ biểu thức Bubble
GuideHost's is_busy (your yes/no custom state) - Vô hiệu hoá phần tử khi ứng dụng của bạn đang bận hoặc hành động này không khả dụng.
ui_text_jsontext · Mặc định: ""- Giá trị ví dụ
{} - Ví dụ biểu thức Bubble
App Settings' player_labels_json (supported keys only) - JSON tùy chọn với các nhãn nút được hỗ trợ. Để trống để sử dụng văn bản tích hợp.
languagetext · Mặc định: "auto"- Giá trị ví dụ
uk - Ví dụ biểu thức Bubble
Current User's preferred_language - Đặt language=auto để theo dõi ngôn ngữ thiết bị hoặc trình duyệt được hỗ trợ. Nhập mã ngôn ngữ hỗ trợ để chọn một cách rõ ràng.
Hành động và đầu vào của chúng · 8
Play
Không có tham số hành động
Pause
Không có tham số hành động
Toggle
Không có tham số hành động
Stop
Không có tham số hành động
Seek
secondsnumber · Mặc định: —- Giá trị ví dụ
12 - Ví dụ biểu thức Bubble
Selected Comment's seconds - Sử dụng giá trị của bản ghi kinh doanh hiện tại; xác thực nó so với các giới hạn bên dưới.
Set speed
ratenumber · Mặc định: —- Giá trị ví dụ
1.5 - Ví dụ biểu thức Bubble
Speed Dropdown's value - Sử dụng giá trị của bản ghi kinh doanh hiện tại; xác thực nó so với các giới hạn bên dưới.
Set volume
volumenumber · Mặc định: —- Giá trị ví dụ
0.8 - Ví dụ biểu thức Bubble
Volume Slider's value - Sử dụng giá trị của bản ghi kinh doanh hiện tại; xác thực nó so với các giới hạn bên dưới.
Reload source
Không có tham số hành động
Trạng thái và sự kiện
Trạng thái
player_status · textKết quả hiện tại của hành động này. Sử dụng sự kiện hoàn thành tương ứng trước khi lưu thành công.
is_playing · yes_noGiá trị hiện tại cho mục đã chọn. Đọc nó sau sự kiện liên quan.
is_loaded · yes_noGiá trị hiện tại cho mục đã chọn. Đọc nó sau sự kiện liên quan.
is_buffering · yes_noGiá trị hiện tại cho mục đã chọn. Đọc nó sau sự kiện liên quan.
current_time · numberGiá trị hiện tại cho mục đã chọn. Đọc nó sau sự kiện liên quan.
duration · numberGiá trị hiện tại cho mục đã chọn. Đọc nó sau sự kiện liên quan.
progress · numberGiá trị hiện tại cho mục đã chọn. Đọc nó sau sự kiện liên quan.
playback_rate · numberGiá trị hiện tại cho mục đã chọn. Đọc nó sau sự kiện liên quan.
volume · numberGiá trị hiện tại cho mục đã chọn. Đọc nó sau sự kiện liên quan.
is_looping · yes_noGiá trị hiện tại cho mục đã chọn. Đọc nó sau sự kiện liên quan.
waveform_available · yes_noGiá trị hiện tại cho mục đã chọn. Đọc nó sau sự kiện liên quan.
waveform_status · textKết quả hiện tại của hành động này. Sử dụng sự kiện hoàn thành tương ứng trước khi lưu thành công.
error_code · textThông tin lỗi cho hành động cuối cùng. Hiển thị thông báo hữu ích và đề xuất thử lại liên quan.
Sự kiện
readyKhi sự kiện này xảy ra, đọc các trạng thái liên quan từ cùng một phần tử.
playback_startedKhi sự kiện này xảy ra, đọc các trạng thái liên quan từ cùng một phần tử.
playback_pausedKhi sự kiện này xảy ra, đọc các trạng thái liên quan từ cùng một phần tử.
playback_endedKhi sự kiện này xảy ra, đọc các trạng thái liên quan từ cùng một phần tử.
seek_completedKhi sự kiện này xảy ra, đọc các trạng thái liên quan từ cùng một phần tử.
rate_changedKhi sự kiện này xảy ra, đọc các trạng thái liên quan từ cùng một phần tử.
player_errorKhi sự kiện này xảy ra, đọc các trạng thái liên quan từ cùng một phần tử.
Câu hỏi mà nhà phát triển đặt ra
Có tạo dạng sóng không?
Không. Cung cấp các đỉnh chuẩn hoá thực cho nguồn đó; tiến trình thông thường hoạt động mà không cần chúng.
Đăng ký hoạt động như thế nào?
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.
Hướng dẫn liên quan
Để được trợ giúp, cho chúng tôi biết plugin và thiết bị bạn đang sử dụng, hành động bạn đã thử và những gì đã xảy ra. Sử dụng ví dụ không có dữ liệu cá nhân. Không bao giờ chia sẻ khóa hoặc tệp riêng của bạn.