Free shipping worldwide over $50
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
11 / 13
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
Portable Bluetooth Speaker
46% OFF
sonieya

Portable Bluetooth Speaker

$26.99 $49.99
0 sold
Color
Qty

FEATURES

SEAMLESS CONNECTIVITY: Equipped with advanced Bluetooth 5.0 technology, this speaker ensures faster pairing, a stable connection, and an extended range.

IMMERSIVE AUDIO EXPERIENCE: The speaker delivers rich, high-fidelity sound with deep bass and crisp highs, offering a 360° surround sound experience that fills any space with your favorite tunes.

OUTDOOR USE: It is IPX5 waterproof, offering reliable protection against splashes, rain, and sweat, so you can enjoy uninterrupted music anywhere.

DYNAMIC LED LIGHTING: Featuring rhythmic LED lighting that syncs with your music, this speaker adds a fun and colorful ambiance, making it perfect for parties, gatherings, or just setting the mood.

COMPACT DESIGN : The speaker boasts a sleek design with a built-in handle, making it easy to carry anywhere, whether it's to the beach, a hike, or a backyard barbecue.

LONG BATTERY LIFE: With a powerful built-in 800mah battery, it provides hours of non-stop music every full charge, ensuring your entertainment doesn't get cut short during long outings or events.

SPEC

Connectivity: Bluetooth, USB, TF card

Bluetooth version: 5.0

Transmission distance: ≤10m

Charging time: 2 hours

Package includes: 1 * Portable Bluetooth Speaker

NOTES

Keep the device away from extreme temperatures to maintain its lifespan.

Bluetooth range may vary depending on obstructions and interference.

You May Also Like Don't Like These?

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.