En promo 13%

Soundcore Sleep A30

With a 45-hour total battery life, its case-driven snore monitoring and adaptive ANC with ear canal adaptation deliver personalized sleep noise reduction. Ultra-soft silicone tips, short nozzles, and a slim, 3D-mapped design relieve pressure for side sleepers, complemented by AI brainwave audio for faster relaxation. Best for side sleepers needing to block snoring and environmental noise who prioritize comfort and sleep features over music playback.

★★★★★ 4.5 (3)
form factor in-ear
driver type Dynamic
wireless true
active noise cancellation true
bluetooth version 5.4
battery life hours 9
case battery hours 45
water resistance IPX4
Soundcore Sleep A30 earbuds
60 Score global
Prix 200 $US
Aussi disponible dans:

À propos de ce Earbuds

Product description .aplus-v2 .aplus-content-wrapper { position: relative; overflow: hidden; } .aplus-v2 .container-with-background-image { width: 100%; height: 100%; background-repeat: no-repeat; background-size: cover; } function logShoppableMetrics(moduleName, showsAddToCart) { if (window.ue && window.ue.count) { window.ue.count("aplus:shoppable:" + moduleName + ":addToCart", showsAddToCart ? 1 : 0); } } .aplus-v2 .premium-aplus-module-13 .aplus-carousel-container { position: relative; } .aplus-v2 .premium-aplus-module-13 .aplus-carousel-element { position: relative; width: 100%; } .aplus-v2 .premium-aplus-module-13 .aplus-card-link-button { text-align: center; padding-top: 20px; } .aplus-v2 .premium-aplus-module-13 .aplus-text-background, .aplus-v2 .premium-aplus-module-13 .aplus-text-background h1, .aplus-v2 .premium-aplus-module-13 .aplus-text-background h5, .aplus-v2 .premium-aplus-module-13 .aplus-text-background ol, .aplus-v2 .premium-aplus-module-13 .aplus-text-background ul, .aplus-v2 .premium-aplus-module-13 .aplus-text-background ol .a-list-item, .aplus-v2 .premium-aplus-module-13 .aplus-text-background ul .a-list-item { color: #fff; } /** * Premium-module 11: FAQs - Common Styles (All Devices) */ .aplus-v2 .premium-aplus-module-11 { background: #fff; position: relative; } .aplus-v2 .premium-aplus-module-11.aplus-secondary-color { background: #000; } .aplus-v2 .premium-aplus-module-11 .aplus-question, .aplus-v2 .premium-aplus-module-11 .aplus-answer { display: block; width: 100%; margin: 0; } .aplus-v2 .premium-aplus-module-11 .aplus-answer { visibility: hidden; opacity: 0; height: 0; transition: display 0.1s linear, opacity 0.1s linear, height 0.1s linear; transition-behavior: allow-discrete; } .aplus-v2 .premium-aplus-module-11 .aplus-active .aplus-answer { visibility: visible; opacity: 1; height: auto; height: calc-size(auto); min-height: 40px; } .aplus-v2 .premium-aplus-module-11 .faq-list { margin: 0; } .aplus-v2 .premium-aplus-module-11 .faq-block { position: relative; list-style-type: none; cursor: pointer; border: 2px solid #E6E6E6; background: #fff; border-radius: 3px; margin-bottom: 10px; } .aplus-v2 .premium-aplus-module-11.aplus-secondary-color .faq-block { border: none; } .aplus-v2 .premium-aplus-module-11 .aplus-question::before, .aplus-v2 .premium-aplus-module-11 .aplus-answer::before { text-align: center; border-radius: 3px; display: inline-block; font-weight: 500; position: absolute; color: #fff; top: 10px; left: 10px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .aplus-question::before, html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .aplus-answer::before { right: 10px; } .aplus-v2 .premium-aplus-module-11 .aplus-question::before { content: "Q"; background: #505050; transition: background 0.1s linear; z-index: 2; } .aplus-v2 .premium-aplus-module-11 .aplus-answer::before { content: "A"; background: #DF7600; color: #000000; z-index: 1; transform: translateY(0px); transition: transform 0.1s linear; } .aplus-v2 .premium-aplus-module-11 .faq-block.aplus-active .aplus-question::before { background: #404040; } .aplus-v2 .premium-aplus-module-11 .faq-block.aplus-active .aplus-answer::before { transform: translateY(40px); } .aplus-v2 .premium-aplus-module-11 .faq-arrow { position: absolute; top: 25px; border: 10px solid transparent; border-top-color: #505050; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .faq-arrow { right: auto; } .aplus-v2 .premium-aplus-module-11 .aplus-active .faq-arrow { top: 15px; border-top-color: transparent; border-bottom-color: #404040; } .aplus-v2 .premium-aplus-module-2 .premium-background-wrapper { position: relative; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper { position: absolute; width: 50%; height: 100%; top: 0; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right { left: 50%; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right { left: auto; right: 50%; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.secondary-color { color: #fff; } .aplus-v2 .premium-aplus-module-2 .premium-intro-background { padding: 20px; } .aplus-v2 .premium-aplus-module-2 .aplus-module-2-topic { padding-bottom: 10px; } .aplus-v2 .premium-aplus-module-2 .aplus-module-2-heading { padding-bottom: 20px; } .aplus-v2 .premium-aplus-module-2 .aplus-module-2-description { line-height: 1.5em; } .aplus-v2 .premium-aplus-module-2 .premium-intro-background.white-background { background: rgba(255,255,255,0.5); } .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background { background: rgba(0,0,0,0.5); } .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background h1, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background h5, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ol, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ul, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ol .a-list-item, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ul .a-list-item { color: #fff; } .aplus-v2 .premium-aplus-module-2 .premium-intro-content-container { display: table; height: 100%; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.left .premium-intro-content-container { padding-left: 40px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.left .premium-intro-content-container { padding-left: 0px; padding-right: 40px; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right .premium-intro-content-container { padding-right: 40px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right .premium-intro-content-container { padding-right: 0px; padding-left: 40px; } .aplus-v2 .premium-aplus-module-2 .premium-intro-content-column { display: table-cell; vertical-align: middle; } /** * Common event handler for click and keydown events. * @param {Event} event - The event object. * @param {Function} handleClickOrEnter - Function to handle click or Enter key events. * @param {Function} handleEsc - Function to handle Esc key events. */ // [TODO][AplusMantle-8064] Create common event handler util(key events, click events) in AplusModuleResources function handleClickAndKeyEvents(event, handleClickOrEnterOrSpace) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const SPACE_KEY_CODE = 32; const isClick = event.type === 'click'; const isKeydown = event.type === 'keydown'; const isEnter = isKeydown && event.keyCode === ENTER_KEY_CODE; const isSpace = isKeydown && event.keyCode === SPACE_KEY_CODE; const isEsc = isKeydown && event.keyCode === ESCAPE_KEY_CODE; if (isClick || isEnter || isSpace) { handleClickOrEnterOrSpace(); } else if (isEsc) { handleEsc(event); } } /** * Function to handle esc key event. * @param {Event} event - The event object. */ function handleEsc(event) { event.target.blur() // force remove focus } /** * Premium modules global styles */ .aplus-v2.desktop { max-width: 1464px; min-width: 800px; margin-left: auto; margin-right: auto; word-wrap: break-word; overflow-wrap: break-word; word-break: break-word; } /* Undo this for tech-specs because it breaks table layout */ .aplus-v2.desktop .premium-aplus .aplus-tech-spec-table { word-break: initial; } .aplus-v2 .premium-aplus, .aplus-v2 .premium-aplus .aplus-h1, .aplus-v2 .premium-aplus .aplus-h2, .aplus-v2 .premium-aplus .aplus-p1, .aplus-v2 .premium-aplus .aplus-p2, .aplus-v2 .premium-aplus .aplus-p3, .aplus-v2 .premium-aplus .aplus-accent1, .aplus-v2 .premium-aplus .aplus-accent2 { font-family: Arial, sans-serif; } .aplus-v2 .premium-aplus, .aplus-v2 .premium-aplus .aplus-h1, .aplus-v2 .premium-aplus .aplus-h2, .aplus-v2 .premium-aplus .aplus-p1, .aplus-v2 .premium-aplus .aplus-p2, .aplus-v2 .premium-aplus .aplus-p3, .aplus-v2 .premium-aplus .aplus-accent1, .aplus-v2 .premium-aplus .aplus-accent2 { font-family: inherit; } /* type */ .aplus-v2 .premium-aplus .aplus-h1 { font-size: 32px; line-height: 1.2em; font-weight: 500; } .aplus-v2 .premium-aplus .aplus-h2 { font-size: 26px; line-height: 1.25em; font-weight: 500; } .aplus-v2 .premium-aplus .aplus-h3 { font-size: 18px; line-height: 1.25em; font-weight: 500; } .aplus-v2 .premium-aplus .aplus-p1 { font-size: 20px; line-height: 1.3em; font-weight: 300; } .aplus-v2 .premium-aplus .aplus-p2 { font-size: 16px; line-height: 1.4em; font-weight: 300; } .aplus-v2 .premium-aplus .aplus-p3 { font-size: 14px; line-height: 1.4em; font-weight: 300; } .aplus-v2 .premium-aplus .aplus-accent1 { font-size: 16px; line-height: 1.4em; font-weight: 600; } .aplus-v2 .premium-aplus .aplus-accent2 { font-size: 14px; line-height: 1.4em; font-weight: 600; } /* spacing */ .aplus-v2 .aplus-container-1 { padding: 40px; } .aplus-v2 .aplus-container-1-2 { padding: 40px 80px; } .aplus-v2 .aplus-container-2 { padding: 80px; } .aplus-v2 .aplus-container-3 { padding: 40px 0; } /* Display */ .aplus-v2 .premium-aplus .aplus-display-table { display: table; } .aplus-v2 .premium-aplus .aplus-display-table-cell { display: table-cell; } .aplus-v2 .premium-aplus .aplus-display-inline-block { display: inline-block; } /* Aplus display table with min-width 1000px and fill remaining space inside parent */ .aplus-v2.desktop .premium-aplus .aplus-display-table-width { min-width: 1000px; width: 100% } /** * Padding and margin for element should be 10, 20, 40, or 80 px. Considering mini 10, small 20, medium 40, large 80. */ /** * Premium-module 11: FAQs */ .aplus-v2 .premium-aplus-module-11 .aplus-question { line-height: 25px; padding-bottom: 10px; } .aplus-v2 .premium-aplus-module-11 .faq-block { padding: 10px 80px 15px 100px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .faq-block { padding-left: 80px; padding-right: 100px; } .aplus-v2 .premium-aplus-module-11 .faq-block.aplus-active { padding-bottom: 35px; } .aplus-v2 .premium-aplus-module-11 .aplus-question::before, .aplus-v2 .premium-aplus-module-11 .aplus-answer::before { width: 80px; line-height: 40px; font-size: 25px; } .aplus-v2 .premium-aplus-module-11 .faq-arrow { right: 40px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .faq-arrow { left: 40px; } /** * Premium-module 14: Carousel */ .aplus-v2 .premium-aplus-module-14 .aplus-carousel-container { position: relative; } .aplus-v2 .premium-aplus-module-14 .aplus-carousel-element { position: relative; width: 100%; } .aplus-v2 .premium-aplus-module-14 .aplus-pagination-wrapper { position: absolute; top: 92%; width: 100%; } .aplus-v2 .premium-aplus-module-14 .text-panel-container { vertical-align: middle; text-align: left; width: 50%; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-14 .text-panel-container { text-align: right; } .aplus-v2 .premium-aplus-module-14 .media-placeholder { padding-bottom: 75%; /* Aspect ratio 4:3 for video and image */ } .aplus-v2 .premium-aplus-module-14 .media-container { position: absolute; top: 0; width: 50%; height: 100%; padding-bottom: 5%; } .aplus-v2 .premium-aplus.premium-aplus-module-14 .title { padding-bottom: 20px; } .aplus-v2 .premium-aplus-module-14 .a-carousel-left { margin-top: 17%; } .aplus-v2 .premium-aplus-module-14 .a-carousel-right { margin-top: 17%; } .aplus-v2 .premium-aplus-module-14 .a-carousel-col { height: 10%; } (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.now('premium-module-11-faq').execute(function(init) { if (init) { return; } P.register('premium-module-11-faq', function() { return function() { P.when('A', 'jQuery', 'ready').execute(function(A, $){ function initFaq(module) { const MODULE_CLASS_NAME = 'premium-aplus-module-11'; const FAQ_CONTAINER_CLASS_NAME = 'faqs-container'; const FAQ_BLOCK_CLASS_NAME = 'faq-block'; const moduleId = $(module).data('faq-block'); const $faqBlocks = $('.aplus-v2 .' + MODULE_CLASS_NAME + ' .' + FAQ_CONTAINER_CLASS_NAME + '.' + moduleId + ' .' + FAQ_BLOCK_CLASS_NAME); /** * Function to handle click or Enter or Space key events. * @param {Element} element - The this object from which the event is dispatched * @param {faqBlocks} faqBlocks - List of all the Question and Answer blocks. */ function handleClickOrEnterOrSpace(element, faqBlocks) { const $element = $(element); const isActive = $element.hasClass('aplus-active'); faqBlocks.removeClass('aplus-active'); faqBlocks.find('[data-faq-question]').attr('aria-expanded', 'false'); if (!isActive) { $element.addClass('aplus-active'); $element.find('[data-faq-question]').attr('aria-expanded', 'true'); } } /* Using jQuery event namespace for preventing duplicate binding on twister refresh */ $faqBlocks.unbind('click keydown.premiumAplusModule11ClickHandler').bind('click keydown.premiumAplusModule11ClickHandler', function(event) { handleClickAndKeyEvents(event, () => handleClickOrEnterOrSpace(this, $faqBlocks)); }); } $(".aplus-v2 .premium-aplus-module-11 .faqs-container").each(function(index, module) { initFaq(module); }); }); }; }); }); })); /** * Premium-module 12: Nav Carousel */ .aplus-v2 .premium-aplus-module-12 .aplus-carousel-card { position: relative; width: 100%; } .aplus-v2 .premium-aplus-module-12 .aplus-carousel-container { position: relative; } .aplus-v2 .premium-aplus-module-12 .aplus-image-carousel-container { /* Match the aspect ratio of the desktop image uploaded via the editor (1464px x 600px) */ padding-top: calc(600 / 1464 * 100%); /* ~40.983% */ height: 0; } .aplus-v2 .premium-aplus-module-12 .aplus-image-carousel-container > div { position: absolute; width: 100%; height: 100%; top: 0; left: 0; } /* Override AUI styles. It poorly attempts to measure the slide heights before waiting until images load. */ .aplus-v2 .premium-aplus-module-12 .a-carousel-viewport { height: 100% !important; } .aplus-v2 .premium-aplus-module-12 .aplus-card-image img { width: 100%; height: auto; } .aplus-v2 .premium-aplus-module-12 .aplus-card-details-wrapper { position: absolute; top: 0; width: 50%; height: 100%; } .aplus-v2 .premium-aplus-module-12 .aplus-card-detail { display: table; width: 100%; height: 100% } .aplus-v2 .premium-aplus-module-12 .card-description { text-align: left; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-12 .card-description { text-align: right; } .aplus-v2 .premium-aplus-module-12 .aplus-table-cell { display: table-cell; vertical-align: middle; } .aplus-v2 .premium-aplus-module-12 .aplus-text-background { padding: 20px; } .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color { background: rgba(0, 0, 0, 0.5); } .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color h1, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color h5, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ol, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ul, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ol .a-list-item, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ul .a-list-item { color: #fff; } .aplus-v2 .premium-aplus-module-12 .description { margin-top: 20px; } /* nav */ .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions { position: absolute; top: 20px; width: 100%; text-align: center; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn { display: inline-block; margin: 7px 10px; cursor: pointer; border-radius: 30px; border: 2px solid #000; line-height: 2.5em; min-width: 200px; background-color: #fff; white-space: nowrap; color: #000; } .aplus-v2 .premium-aplus-module-12 .aplus-carousel-index { display: none; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.aplus-active { border-color: #fff; background-color: #000; color: #fff; } /** * Regimen template specific css */ html[dir="rtl"] .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen { text-align: right; } .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions.regimen { text-align: right; top: 50%; width: 250px; right: 75px; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); } html[dir="rtl"] .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions.regimen { text-align: left; top: 50%; left: 75px; right: auto; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen { display: inline-block; margin: 10px 10px; cursor: pointer; border-radius: 30px; border: 2px solid #000; width: 220px; background-color: #fff; padding: 2px 0 2px; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active { border-color: #fff; background-color: #000; color: #fff; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active .aplus-carousel-index { color: inherit; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active .aplus-carousel-label { color: inherit; } .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-index { display: inline-block; width: 12px; color: #000; } .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-label { color: #000; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-index { margin-left: 0px; margin-right: 6px; } .aplus-v2 .premium-aplus-module-12 .aplus-headline-top.regimen { position: absolute; top: 0; left: 0; width: 100%; background-color: #000; opacity: 0.5; text-align: center; } .aplus-v2 .premium-aplus-module-12 .aplus-headline-top.regimen .aplus-headline { color: #fff; line-height: 2em; } /** * Navigation template specific css */ .aplus-v2 .premium-aplus-module-12--top-nav .aplus-carousel-actions { background-color: rgba(0, 0, 0, 0.8); top: 0px; } .aplus-v2 .premium-aplus-module-12--top-nav .aplus-goto-btn { padding: 8px; color: #fff; background-color: transparent; border: none; } .aplus-v2 .premium-aplus-module-12--top-nav .aplus-goto-btn.aplus-active { text-decoration: underline; text-underline-offset: 0.8em; text-decoration-thickness: 3px; background-color: transparent; border: none; } /** * Premium-module 13: Carousel */ .aplus-v2 .premium-aplus-module-13 .aplus-card-description-wrapper { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .aplus-v2 .premium-aplus-module-13 .aplus-card-description { display: table; width: 50%; height: 100%; color: #fff; } .aplus-v2 .premium-aplus-module-13 .aplus-card-table-cell { display: table-cell; vertical-align: middle; text-align: left; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-13 .aplus-card-table-cell { text-align: right; } .aplus-v2 .premium-aplus-module-13 .aplus-text-background { background: rgba(0, 0, 0, 0.6); } .aplus-v2 .premium-aplus-module-13 .aplus-card-body { padding: 20px 40px 0 0; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-13 .aplus-card-body { padding: 20px 0 0 40px; } .aplus-v2 .premium-aplus-module-13 .aplus-pagination-wrapper { position: absolute; top: 92%; width: 100%; } /** * Premium-module 8: Hero Video module */ .aplus-v2 .premium-aplus-module-8 .premium-aplus-module-8-video { position: relative; width: 100%; } .aplus-v2 .premium-aplus-module-8 .video-placeholder { padding-bottom: 40.984%; /* Video or image required size 1464 : 600 = 40.9836 */ } .aplus-v2 .premium-aplus-module-8 .video-container { position: absolute; top: 0; width: 100%; height: 100%; } /*Override the default VSE video player size*/ .aplus-v2 .premium-aplus-module-8 .video-js.vjs-fluid { padding: 0; } (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.now('premium-module-12-nav-carousel').execute(function(init) { if (init) { return; } P.register('premium-module-12-nav-carousel', function(){ return function() { P.when('A', 'jQuery', 'a-carousel-framework', 'ready').execute(function (A, $, framework) { function initiateCarousel(module) { var MODULE_ID = $(module).data('module-id'); /** * Carousel button element classname * @const */ var GOTO_BTN_CLASS_NAME = "aplus-goto-btn-" + MODULE_ID; /** * Carousel button element active classname * @const */ var GOTO_BTN_ACTIVE_CLASS_NAME = "aplus-active"; /** * AUI name for aui carousel * @const */ var CAROUSEL_NAME = "premium-aplus-12-carousel-" + MODULE_ID; /** * Module class name * @const */ var MODULE_CLASS_NAME = ".aplus-v2 .premium-aplus-module-12"; /** * Carousel text container class name * @const */ var TEXT_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + " .aplus-carousel-text-container-" + MODULE_ID; /** * Carousel text hidden class name * @const */ var TEXT_CONTAINER_HIDDEN = "aplus-hidden"; /** * Carousel horizontal scroll container class name * @const */ var HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + " .aplus-horizontal-scroll-container-" + MODULE_ID; function showCarouselText(oldIndex, newIndex) { var oldClass = TEXT_CONTAINER_CLASS_NAME + "-" + oldIndex; var newClass= TEXT_CONTAINER_CLASS_NAME + "-" + newIndex; $(oldClass).addClass(TEXT_CONTAINER_HIDDEN); $(newClass).removeClass(TEXT_CONTAINER_HIDDEN); } function scrollToCarouselButton(scrollLeft) { if ($(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).length) { $(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).animate({scrollLeft}, 200); } } /** * Creates a CarouselButton class for provided carousel instance * @param {object} carousel - AUI Carousel instance * @returns {Class} - CarouselButton Class */ function CarouselButtonTemplate(carousel) { /** * Button for controlling the active slide * @constructor * @param {number} index - slide index * @param {DOMElement} [elem] - optional DOM element to use as this objects DOM representation */ function CarouselButton(index, elem) { var self = this; this.index = index; this.carousel = carousel; /* create the button element */ this.elem = this.getElem(elem); this.$elem = $(this.elem); /* store jquery version */ this.elem.addEventListener('click', self.handleClick.bind(self)); this.elem.setAttribute('role', 'tab'); /* add this object to the object manager */ CarouselButton.objects.byId[index] = this; CarouselButton.objects.all.push(this); } /** * Describe behavior for click events on this.elem * @memberOf CarouselButton */ CarouselButton.prototype.handleClick = function(e) { e.preventDefault(); this.carousel.gotoPage(this.index); }; /** * Enter active state * @memberOf CarouselButton */ CarouselButton.prototype.activate = function() { this.$elem.addClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected', 'true'); }; /** * Enter inactive state * @memberOf CarouselButton */ CarouselButton.prototype.deactivate = function() { this.$elem.removeClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected', 'false'); }; /** * Returns an existing or creates a new bound element for this object * @memberOf CarouselButton * @param {DOMElement} [elem] - optionally provide an existing element in the DOM to use * @returns {DOMElement} - this objects DOM representation */ CarouselButton.prototype.getElem = function(elem) { if (this.elem) return this.elem; if (elem) return elem; var createdElem = document.createElement('span'); createdElem.className = GOTO_BTN_CLASS_NAME; return createdElem; }; /** @const Object manager */ CarouselButton.objects = { byId: {}, all: [], }; return CarouselButton; } framework.onInit(CAROUSEL_NAME, function(carousel) { /** @const {Class} */ var CarouselButton = CarouselButtonTemplate(carousel); /* create carousel controls */ var $carouselBtns = $(safeClassSelector(GOTO_BTN_CLASS_NAME)); var btns = $carouselBtns.map(function(i, btnElem) { return new CarouselButton(i + 1, btnElem); }); /* activate first one */ CarouselButton.objects.byId[1].activate(); /* Listen to slide changes */ A.on("a:carousel:" + CAROUSEL_NAME + ":change:pageNumber", function (data) { var newCarouselButton = CarouselButton.objects.byId[data.newValue]; var marginLeft = parseInt(getComputedStyle(newCarouselButton.elem).getPropertyValue('margin-left')); var positionLeft = newCarouselButton.elem.offsetLeft - marginLeft; newCarouselButton.activate(); CarouselButton.objects.byId[data.oldValue].deactivate(); scrollToCarouselButton(positionLeft); showCarouselText(data.oldValue, data.newValue); }); }); /** * @returns {string} - css classname prefixed with module selector */ function safeClassSelector(className) { return '.' + MODULE_CLASS_NAME + ' .' + className; } } $('.aplus-v2 .premium-aplus-module-12 .aplus-carousel-container').each(function (index, module) { initiateCarousel(module); }); framework.createAll(); framework.initializeAll(); }); } }) }); })); .aplus-v2 .vse-video-player-title, .aplus-v2 .vse-lightPlayer-vendor{ display:none; } #aplus .vse-video-player-title, #aplus .vse-lightPlayer-vendor{ display:none; } {"enableFullScreenByDefault":false,"clickstreamNexusMetricsConfig":{"producerId":"vsemetrics_playercards","schemaId":"clickstream.CustomerEvent.4","actionType":"DISCOVERY","eventOwner":"vsemetrics_playercards","eventType":"IVEVideoView","productId":"B0FCLJD9M4"},"videoReferenceId":"sc|49fd812f-43e9-4274-a5a5-b3ddc9d256e2|ATVPDKIKX0DER|A294P4X9EWVXLJ","contentId":"B0FCLJD9M4","ccvDisclosure":"","closedCaptionsConfig":{"captionsOnTexts":{"de":"German (Automated)","en":"English (Automated)","fr":"French (Automated)","es":"Spanish (Automated)"},"captionsOffText":"Captions off","languageToLabelTexts":{"English":"English","French":"French","German":"German","Spanish":"Spanish"}},"mimeType":"application/x-mpegURL","vendorCode":"APLUSSC","videoHeight":480,"disableReportIllegalLink":false,"videoWidth":854,"initialClosedCaptions":"en,https://m.media-amazon.com/images/S/vse-vms-closed-captions-artifact-us-east-1-prod/closedCaptions/31921aa1-fd66-40d9-b7a2-c9b871d4d1f7.vtt","useHotspotsNX":false,"eligibleToTriggerCCWeblab":false,"videoUrl":"https://m.media-amazon.com/images/S/vse-vms-transcoding-artifact-us-east-1-prod/9fb9cf25-8173-427f-8adf-3c5c1d334c0a/default.jobtemplate.hls.m3u8","metricsEmissionMethod":"nexus","imageUrl":"https://m.media-amazon.com/images/I/A1GTZPV6+pL.png","needPlayerFactory":false,"isMobile":false,"showHotspots":false,"aciContentId":"amzn1.vse.video.07b1d912c2b843c3a5995ebf36a52694","altText":"New-Gen soundcore Sleep A30","creatorType":"Seller","clientPrefix":"aplus-190442","hotSpotsV3Weblab":"","productAsin":"B0FCLJD9M4","labelDetails":{"labelName":"","labelType":"","labelWeblabName":"","labelWeblabTreatment":"","showLabel":false,"tooltipSelector":""},"sushiMetricsConfig":{"eventSource":"Player","endpoint":"https://unagi-na.amazon.com/1/events/com.amazon.eel.vse.metrics.prod.events.test","requestId":"CQH7X9Y28C3TXMFKRYBT","sessionId":"133-7714414-5000850","customerId":"0","refMarkers":"aplus-190442_ref","sessionType":1,"placementContext":"desktop_web.AplusWidget.aplusdp","marketplaceId":"ATVPDKIKX0DER","weblabIds":"","isInternal":false,"isRobot":false,"clientId":"VSE-US","videoAsinList":"","pageAsin":"B0FCLJD9M4"},"reportUrl":"","videoTitle":"New-Gen soundcore Sleep A30","vendorName":"Merchant Video","nexusMetricsConfig":{"eventSource":"Player","isInternal":false,"playerTSMMetricsSchemaId":"vse.VSECardsPlayerEvents.9","widgetMetricsSchemaId":"vse.VSECardsEvents.9","producerId":"vsemetrics_playercards","refMarkers":"aplus-190442_ref","placementContext":"desktop_web.AplusWidget.aplusdp","weblabIds":"","clientId":"VSE-US","videoAsin":"07b1d912c2b843c3a5995ebf36a52694","videoAsinList":"","pageAsin":"B0FCLJD9M4"},"awaConfig":{"useUpNextComponent":false,"clickstreamNexusMetricsConfig":{"producerId":"vsemetrics_playercards","schemaId":"clickstream.CustomerEvent.4","actionType":"DISCOVERY","eventOwner":"vsemetrics_playercards","eventType":"IVEVideoView","productId":"B0FCLJD9M4"},"initialVideo":"07b1d912c2b843c3a5995ebf36a52694","shouldPreload":true,"enableClickBasedAttribution":false,"isChromelessPlayer":false,"closedCaptionsConfig":{"captionsOnTexts":{"de":"German (Automated)","en":"English (Automated)","fr":"French (Automated)","es":"Spanish (Automated)"},"captionsOffText":"Captions off","languageToLabelTexts":{"English":"English","French":"French","German":"German","Spanish":"Spanish"}},"enableDynamicBlur":false,"showPlayerPlayButton":false,"isVideoImmersivePlayer":false,"metricsEmissionMethod":"nexus","skipInitialFocus":false,"playerSkin":"none","disabledViewIds":["replayHint"],"includeEarnsComissionDisclosure":false,"customerId":"0","containerId":"aplus-190442-player-94255fb5-2989-40fa-a1c2-5f63b56b0fdc","allowCrossOrigin":false,"requestMetadata":{"clientId":"VSE-US","marketplaceId":"ATVPDKIKX0DER","requestId":"CQH7X9Y28C3TXMFKRYBT","sessionId":"133-7714414-5000850","method":"desktop_web.AplusWidget.aplusdp","pageAsin":""},"shouldLoop":false,"shouldDisableControls":false,"alwaysSetInitialVideo":true,"showPlayerCloseButton":false,"clientPrefix":"aplus-190442","useAutoplayFallback":false,"sushiMetricsConfig":{"eventSource":"Player","endpoint":"https://unagi-na.amazon.com/1/events/com.amazon.eel.vse.metrics.prod.events.test","requestId":"CQH7X9Y28C3TXMFKRYBT","sessionId":"133-7714414-5000850","customerId":"0","refMarkers":"aplus-190442_ref","sessionType":1,"placementContext":"desktop_web.AplusWidget.aplusdp","marketplaceId":"ATVPDKIKX0DER","weblabIds":"","isInternal":false,"isRobot":false,"clientId":"VSE-US","videoAsinList":"","pageAsin":"B0FCLJD9M4"},"ospLinkCode":"vse","showPosterImage":true,"languageCode":"en","languageLocalization":{"play":"Play","volumeLevel":"Volume Level","subtitles":"Subtitles","volumeSlider":"Volume Slider","playVideo":"Click to play video","fullscreen":"Fullscreen","scrubberBar":"Scrubber bar","mute":"Mute","unmute":"Unmute","pause":"Pause","captions":"Captions","nonfullscreen":"Non-Fullscreen"},"version":"","isMoreVideosButtonEnabled":false,"nexusMetricsConfig":{"eventSource":"Player","isInternal":false,"playerTSMMetricsSchemaId":"vse.VSECardsPlayerEvents.9","widgetMetricsSchemaId":"vse.VSECardsEvents.9","producerId":"vsemetrics_playercards","refMarkers":"aplus-190442_ref","placementContext":"desktop_web.AplusWidget.aplusdp","weblabIds":"","clientId":"VSE-US","videoAsin":"07b1d912c2b843c3a5995ebf36a52694","videoAsinList":"","pageAsin":"B0FCLJD9M4"},"shouldStartMuted":false,"airyVersion":"VideoJS","languagePreferenceStrings":{},"enableInactiveFocus":true,"showVideoInfo":false,"isReactFactory":false,"osaInstrumentationConfig":{"schemaId":"csa.VideoInteractions.2","producerId":"vsemetrics_csa_instrumentation"},"enableDelphiAttribution":true,"includeReportWidget":false,"shouldAutoplay":false}}The video showcases the product in use.The video guides you through product setup.The video compares multiple products.The video shows the product being unpacked.Video Player is loading.Click to play videoPlayMuteCurrent Time 0:00/Duration 1:04Loaded: 9.38%0:00Stream Type LIVESeek to live, currently behind liveLIVERemaining Time -1:04 1xPlayback RateChaptersChaptersDescriptionsdescriptions off, selectedCaptionsCaptions off, selectedEnglish (Automated)Audio Trackdefault, selectedFullscreenThis is a modal window. New-Gen soundcore Sleep A30 Merchant Video (window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://m.media-amazon.com/images/I/51ckmXPzM3L.js?AUIClients/VSEPlayer'); (window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://m.media-amazon.com/images/I/41Vu0w0zP-L._RC|01x4giTy+uL.js,01r9LpT6pbL.js,41NWBkfooBL.js,11QfrzttlqL.js,91VXiFQ1TCL.js,01ELLYeIOkL.js_.js?AUIClients/Brila'); (function(f) {var _np=(window.P._namespace("vse-ns-initVSEPlayerOnLoad"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when('VSEPlayer').execute(function(vsePlayer){vsePlayer.initPlayer('aplus-190442-player-94255fb5-2989-40fa-a1c2-5f63b56b0fdc-player-ps');}); //Please use below event to register FeedbackForm P.when('A', 'VSEComponentAssets').execute('vse-ns-player-initialization', function(A, asset) { A.trigger('vse:ns:player:aplus-190442:init', 'aplus-190442-player-94255fb5-2989-40fa-a1c2-5f63b56b0fdc-player-ps'); }); })); <img alt="D1301Z21" src="https://m.media-amazon.com/images/S/aplus-media-library-service-media/f099ca95-045f-4d57-903c-c97606ff446b.__CR0,0,1464,600_PT0_SX1464_V1___.png"/> Previous page Next page .aplus-mantle.aplus-module .aplus-pagination-dots { margin: 0; } .aplus-mantle.aplus-module .aplus-pagination-dot { display: inline-block; list-style: none; } .aplus-mantle.aplus-module .aplus-carousel-nav { text-align:center; } .aplus-mantle.aplus-module .carousel-slider-circle { display: inline-block; cursor: pointer; height: 15px; width: 15px; border: 1px solid #000; border-radius: 20px; background-color: #fff; margin-left: 5px; } .aplus-mantle.aplus-module .carousel-slider-circle.aplus-carousel-active { background-color: #DE7921; } .aplus-mantle.aplus-module .aplus-pagination-dot--display-none { display: none; } P.now("premium-aplus-13-carousel-2").execute(function(init) { if (init) { return; } P.register("premium-aplus-13-carousel-2", function() { return function() { P.when("A", "jQuery", "a-carousel-framework", "ready").execute("paginate-carousel", function (A, $, framework) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const LEFT_ARROW_KEY = 37; const RIGHT_ARROW_KEY = 39; const HOME_KEY = 36; const END_KEY = 35; var moduleId = "2"; var carouselName = "premium-aplus-13-carousel-2"; var paginationAction = "aplus-pagination-dot-action-" + moduleId + "-" + carouselName; var paginationGroup = "#aplus-pagination-group-" + moduleId + "-" + carouselName; /* If the carousel goes to a new page */ A.on("a:carousel:"+carouselName+":change:pageNumber", function (data) { A.$(paginationGroup+" .carousel-slider-circle").removeClass("aplus-carousel-active").attr('aria-selected', 'false').attr('tabindex', -1) .eq(data.newValue - 1).addClass("aplus-carousel-active").attr('aria-selected', 'true').attr('tabindex', 0); }); function syncPaginationDotsWithCarouselPages(numPages) { const parentElement = document.querySelector(paginationGroup); if (parentElement && parentElement.children) { const children = parentElement.children; for (let i = 0; i < children.length; i++) { if (i >= numPages) { // If number of dots > num of pages, we should hide other dots children[i].classList.add('aplus-pagination-dot--display-none'); } else if (children[i].classList.contains('aplus-pagination-dot--display-none')) { // Reset display of dots if it was hidden before children[i].classList.remove('aplus-pagination-dot--display-none'); } } } } framework.onInit(carouselName, function (carousel) { try { var totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); /* Resize event handler to re-calculate the pagination dots count based on orientation */ window.addEventListener('resize', function() { carousel.resize(); totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); }); A.declarative(paginationAction, 'click keydown', function(event){ var isClick = event.type === 'click'; var isKeydown = event.type === 'keydown'; var isEnter = isKeydown && event.$event.keyCode === ENTER_KEY_CODE; var isEsc = isKeydown && event.$event.keyCode === ESCAPE_KEY_CODE; var isLeftArrow = isKeydown && event.$event.keyCode === LEFT_ARROW_KEY; var isRightArrow = isKeydown && event.$event.keyCode === RIGHT_ARROW_KEY; var isHome = isKeydown && event.$event.keyCode === HOME_KEY; var isEnd = isKeydown && event.$event.keyCode === END_KEY; if (isClick || isEnter) { var data = event.data; carousel.gotoPage(data.page); } else if (isEsc) { event.$target.blur(); } else if (isLeftArrow || isRightArrow || isHome || isEnd) { event.$event.preventDefault(); const dots = A.$(paginationGroup + " .carousel-slider-circle"); const currentIndex = dots.index(event.$target); let nextIndex; if (isLeftArrow) { nextIndex = currentIndex > 0 ? currentIndex - 1 : dots.length - 1; } else if (isRightArrow) { nextIndex = currentIndex < dots.length - 1 ? currentIndex + 1 : 0; } else if (isHome) { nextIndex = 0; } else if (isEnd) { nextIndex = dots.length - 1; } dots.eq(nextIndex).focus(); carousel.gotoPage(nextIndex + 1); } }); } catch (e) { P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources'); } }); }); } }); }); (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when("premium-aplus-13-carousel-2").execute(function(init){init();}); })); Previous page Next page .aplus-mantle.aplus-module .aplus-pagination-dots { margin: 0; } .aplus-mantle.aplus-module .aplus-pagination-dot { display: inline-block; list-style: none; } .aplus-mantle.aplus-module .aplus-carousel-nav { text-align:center; } .aplus-mantle.aplus-module .carousel-slider-circle { display: inline-block; cursor: pointer; height: 15px; width: 15px; border: 1px solid #000; border-radius: 20px; background-color: #fff; margin-left: 5px; } .aplus-mantle.aplus-module .carousel-slider-circle.aplus-carousel-active { background-color: #DE7921; } .aplus-mantle.aplus-module .aplus-pagination-dot--display-none { display: none; } P.now("premium-aplus-13-carousel-3").execute(function(init) { if (init) { return; } P.register("premium-aplus-13-carousel-3", function() { return function() { P.when("A", "jQuery", "a-carousel-framework", "ready").execute("paginate-carousel", function (A, $, framework) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const LEFT_ARROW_KEY = 37; const RIGHT_ARROW_KEY = 39; const HOME_KEY = 36; const END_KEY = 35; var moduleId = "3"; var carouselName = "premium-aplus-13-carousel-3"; var paginationAction = "aplus-pagination-dot-action-" + moduleId + "-" + carouselName; var paginationGroup = "#aplus-pagination-group-" + moduleId + "-" + carouselName; /* If the carousel goes to a new page */ A.on("a:carousel:"+carouselName+":change:pageNumber", function (data) { A.$(paginationGroup+" .carousel-slider-circle").removeClass("aplus-carousel-active").attr('aria-selected', 'false').attr('tabindex', -1) .eq(data.newValue - 1).addClass("aplus-carousel-active").attr('aria-selected', 'true').attr('tabindex', 0); }); function syncPaginationDotsWithCarouselPages(numPages) { const parentElement = document.querySelector(paginationGroup); if (parentElement && parentElement.children) { const children = parentElement.children; for (let i = 0; i < children.length; i++) { if (i >= numPages) { // If number of dots > num of pages, we should hide other dots children[i].classList.add('aplus-pagination-dot--display-none'); } else if (children[i].classList.contains('aplus-pagination-dot--display-none')) { // Reset display of dots if it was hidden before children[i].classList.remove('aplus-pagination-dot--display-none'); } } } } framework.onInit(carouselName, function (carousel) { try { var totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); /* Resize event handler to re-calculate the pagination dots count based on orientation */ window.addEventListener('resize', function() { carousel.resize(); totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); }); A.declarative(paginationAction, 'click keydown', function(event){ var isClick = event.type === 'click'; var isKeydown = event.type === 'keydown'; var isEnter = isKeydown && event.$event.keyCode === ENTER_KEY_CODE; var isEsc = isKeydown && event.$event.keyCode === ESCAPE_KEY_CODE; var isLeftArrow = isKeydown && event.$event.keyCode === LEFT_ARROW_KEY; var isRightArrow = isKeydown && event.$event.keyCode === RIGHT_ARROW_KEY; var isHome = isKeydown && event.$event.keyCode === HOME_KEY; var isEnd = isKeydown && event.$event.keyCode === END_KEY; if (isClick || isEnter) { var data = event.data; carousel.gotoPage(data.page); } else if (isEsc) { event.$target.blur(); } else if (isLeftArrow || isRightArrow || isHome || isEnd) { event.$event.preventDefault(); const dots = A.$(paginationGroup + " .carousel-slider-circle"); const currentIndex = dots.index(event.$target); let nextIndex; if (isLeftArrow) { nextIndex = currentIndex > 0 ? currentIndex - 1 : dots.length - 1; } else if (isRightArrow) { nextIndex = currentIndex < dots.length - 1 ? currentIndex + 1 : 0; } else if (isHome) { nextIndex = 0; } else if (isEnd) { nextIndex = dots.length - 1; } dots.eq(nextIndex).focus(); carousel.gotoPage(nextIndex + 1); } }); } catch (e) { P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources'); } }); }); } }); }); (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when("premium-aplus-13-carousel-3").execute(function(init){init();}); })); Block out Snoring via 3-Stage Snore Masking System Most sleep earbuds fail against unpredictable snoring frequencies and volume. Our 3-stage masking system overcomes them. .aplus-v2 .vse-video-player-title, .aplus-v2 .vse-lightPlayer-vendor{ display:none; } #aplus .vse-video-player-title, #aplus .vse-lightPlayer-vendor{ display:none; } {"enableFullScreenByDefault":false,"clickstreamNexusMetricsConfig":{"producerId":"vsemetrics_playercards","schemaId":"clickstream.CustomerEvent.4","actionType":"DISCOVERY","eventOwner":"vsemetrics_playercards","eventType":"IVEVideoView","productId":"B0FCLJD9M4"},"videoReferenceId":"sc|e8af6871-7fb5-43d9-b283-13266108184f|ATVPDKIKX0DER|A294P4X9EWVXLJ","contentId":"B0FCLJD9M4","ccvDisclosure":"","closedCaptionsConfig":{"captionsOnTexts":{"de":"German (Automated)","en":"English (Automated)","fr":"French (Automated)","es":"Spanish (Automated)"},"captionsOffText":"Captions off","languageToLabelTexts":{"English":"English","French":"French","German":"German","Spanish":"Spanish"}},"mimeType":"application/x-mpegURL","vendorCode":"APLUSSC","videoHeight":480,"disableReportIllegalLink":false,"videoWidth":854,"initialClosedCaptions":"en,https://m.media-amazon.com/images/S/vse-vms-closed-captions-artifact-us-east-1-prod/closedCaptions/5c2be941-f2ac-4af3-bde6-0664075bb9f4.vtt","useHotspotsNX":false,"eligibleToTriggerCCWeblab":false,"videoUrl":"https://m.media-amazon.com/images/S/vse-vms-transcoding-artifact-us-east-1-prod/544af34f-4b73-4f7b-9dbe-ea3a49b12905/default.jobtemplate.hls.m3u8","metricsEmissionMethod":"nexus","imageUrl":"https://m.media-amazon.com/images/I/81YnePzIcWL.jpg","needPlayerFactory":false,"isMobile":false,"showHotspots":false,"aciContentId":"amzn1.vse.video.0737117042434063b85a950abe09566a","altText":"Block out Snoring via 3-Stage Snore Masking System","creatorType":"Seller","clientPrefix":"aplus-190441","hotSpotsV3Weblab":"","productAsin":"B0FCLJD9M4","labelDetails":{"labelName":"","labelType":"","labelWeblabName":"","labelWeblabTreatment":"","showLabel":false,"tooltipSelector":""},"sushiMetricsConfig":{"eventSource":"Player","endpoint":"https://unagi-na.amazon.com/1/events/com.amazon.eel.vse.metrics.prod.events.test","requestId":"CQH7X9Y28C3TXMFKRYBT","sessionId":"133-7714414-5000850","customerId":"0","refMarkers":"aplus-190441_ref","sessionType":1,"placementContext":"desktop_web.AplusWidget.aplusdp","marketplaceId":"ATVPDKIKX0DER","weblabIds":"","isInternal":false,"isRobot":false,"clientId":"VSE-US","videoAsinList":"","pageAsin":"B0FCLJD9M4"},"reportUrl":"","videoTitle":"Block out Snoring via 3-Stage Snore Masking System","vendorName":"Merchant Video","nexusMetricsConfig":{"eventSource":"Player","isInternal":false,"playerTSMMetricsSchemaId":"vse.VSECardsPlayerEvents.9","widgetMetricsSchemaId":"vse.VSECardsEvents.9","producerId":"vsemetrics_playercards","refMarkers":"aplus-190441_ref","placementContext":"desktop_web.AplusWidget.aplusdp","weblabIds":"","clientId":"VSE-US","videoAsin":"0737117042434063b85a950abe09566a","videoAsinList":"","pageAsin":"B0FCLJD9M4"},"awaConfig":{"useUpNextComponent":false,"clickstreamNexusMetricsConfig":{"producerId":"vsemetrics_playercards","schemaId":"clickstream.CustomerEvent.4","actionType":"DISCOVERY","eventOwner":"vsemetrics_playercards","eventType":"IVEVideoView","productId":"B0FCLJD9M4"},"initialVideo":"0737117042434063b85a950abe09566a","shouldPreload":true,"enableClickBasedAttribution":false,"isChromelessPlayer":false,"closedCaptionsConfig":{"captionsOnTexts":{"de":"German (Automated)","en":"English (Automated)","fr":"French (Automated)","es":"Spanish (Automated)"},"captionsOffText":"Captions off","languageToLabelTexts":{"English":"English","French":"French","German":"German","Spanish":"Spanish"}},"enableDynamicBlur":false,"showPlayerPlayButton":false,"isVideoImmersivePlayer":false,"metricsEmissionMethod":"nexus","skipInitialFocus":false,"playerSkin":"none","disabledViewIds":["replayHint"],"includeEarnsComissionDisclosure":false,"customerId":"0","containerId":"aplus-190441-player-adef9478-203f-4969-96cf-7464792e3fd5","allowCrossOrigin":false,"requestMetadata":{"clientId":"VSE-US","marketplaceId":"ATVPDKIKX0DER","requestId":"CQH7X9Y28C3TXMFKRYBT","sessionId":"133-7714414-5000850","method":"desktop_web.AplusWidget.aplusdp","pageAsin":""},"shouldLoop":false,"shouldDisableControls":false,"alwaysSetInitialVideo":true,"showPlayerCloseButton":false,"clientPrefix":"aplus-190441","useAutoplayFallback":false,"sushiMetricsConfig":{"eventSource":"Player","endpoint":"https://unagi-na.amazon.com/1/events/com.amazon.eel.vse.metrics.prod.events.test","requestId":"CQH7X9Y28C3TXMFKRYBT","sessionId":"133-7714414-5000850","customerId":"0","refMarkers":"aplus-190441_ref","sessionType":1,"placementContext":"desktop_web.AplusWidget.aplusdp","marketplaceId":"ATVPDKIKX0DER","weblabIds":"","isInternal":false,"isRobot":false,"clientId":"VSE-US","videoAsinList":"","pageAsin":"B0FCLJD9M4"},"ospLinkCode":"vse","showPosterImage":true,"languageCode":"en","languageLocalization":{"play":"Play","volumeLevel":"Volume Level","subtitles":"Subtitles","volumeSlider":"Volume Slider","playVideo":"Click to play video","fullscreen":"Fullscreen","scrubberBar":"Scrubber bar","mute":"Mute","unmute":"Unmute","pause":"Pause","captions":"Captions","nonfullscreen":"Non-Fullscreen"},"version":"","isMoreVideosButtonEnabled":false,"nexusMetricsConfig":{"eventSource":"Player","isInternal":false,"playerTSMMetricsSchemaId":"vse.VSECardsPlayerEvents.9","widgetMetricsSchemaId":"vse.VSECardsEvents.9","producerId":"vsemetrics_playercards","refMarkers":"aplus-190441_ref","placementContext":"desktop_web.AplusWidget.aplusdp","weblabIds":"","clientId":"VSE-US","videoAsin":"0737117042434063b85a950abe09566a","videoAsinList":"","pageAsin":"B0FCLJD9M4"},"shouldStartMuted":false,"airyVersion":"VideoJS","languagePreferenceStrings":{},"enableInactiveFocus":true,"showVideoInfo":false,"isReactFactory":false,"osaInstrumentationConfig":{"schemaId":"csa.VideoInteractions.2","producerId":"vsemetrics_csa_instrumentation"},"enableDelphiAttribution":true,"includeReportWidget":false,"shouldAutoplay":false}}The video showcases the product in use.The video guides you through product setup.The video compares multiple products.The video shows the product being unpacked.Video Player is loading.Click to play videoPlayMuteCurrent Time 0:00/Duration 0:18Loaded: 33.37%0:00Stream Type LIVESeek to live, currently behind liveLIVERemaining Time -0:18 1xPlayback RateChaptersChaptersDescriptionsdescriptions off, selectedCaptionsCaptions off, selectedEnglish (Automated)Audio Trackdefault, selectedFullscreenThis is a modal window. Block out Snoring via 3-Stage Snore Masking System Merchant Video (window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://m.media-amazon.com/images/I/51ckmXPzM3L.js?AUIClients/VSEPlayer'); (window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://m.media-amazon.com/images/I/41Vu0w0zP-L._RC|01x4giTy+uL.js,01r9LpT6pbL.js,41NWBkfooBL.js,11QfrzttlqL.js,91VXiFQ1TCL.js,01ELLYeIOkL.js_.js?AUIClients/Brila'); (function(f) {var _np=(window.P._namespace("vse-ns-initVSEPlayerOnLoad"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when('VSEPlayer').execute(function(vsePlayer){vsePlayer.initPlayer('aplus-190441-player-adef9478-203f-4969-96cf-7464792e3fd5-player-ps');}); //Please use below event to register FeedbackForm P.when('A', 'VSEComponentAssets').execute('vse-ns-player-initialization', function(A, asset) { A.trigger('vse:ns:player:aplus-190441:init', 'aplus-190441-player-adef9478-203f-4969-96cf-7464792e3fd5-player-ps'); }); })); Real-Time Snore-Tracking Case Stage 1: The smart charging case monitors snoring sounds in real time and analyzes the sound level and frequency. Adaptive Snore-Masking Audio Stage 2: The system adaptively generates broad-spectrum masking sounds to counter snoring sounds in real time. The audio uses soothing white noise to reduce fluctuations in snoring and helps promote restful sleep. Note: Snoring sounds are masked by audio, not by the ANC system. Foam Tips For Maximum Noise Reduction Stage 3: If your sleeping space is super noisy, try switching from the default silicone ear tips to the foam ones to block out more noise. .aplus-mantle.aplus-module .aplus-pagination-dots { margin: 0; } .aplus-mantle.aplus-module .aplus-pagination-dot { display: inline-block; list-style: none; } .aplus-mantle.aplus-module .aplus-carousel-nav { text-align:center; } .aplus-mantle.aplus-module .carousel-slider-circle { display: inline-block; cursor: pointer; height: 15px; width: 15px; border: 1px solid #000; border-radius: 20px; background-color: #fff; margin-left: 5px; } .aplus-mantle.aplus-module .carousel-slider-circle.aplus-carousel-active { background-color: #DE7921; } .aplus-mantle.aplus-module .aplus-pagination-dot--display-none { display: none; } P.now("premium-aplus-14-carousel-4").execute(function(init) { if (init) { return; } P.register("premium-aplus-14-carousel-4", function() { return function() { P.when("A", "jQuery", "a-carousel-framework", "ready").execute("paginate-carousel", function (A, $, framework) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const LEFT_ARROW_KEY = 37; const RIGHT_ARROW_KEY = 39; const HOME_KEY = 36; const END_KEY = 35; var moduleId = "4"; var carouselName = "premium-aplus-14-carousel-4"; var paginationAction = "aplus-pagination-dot-action-" + moduleId + "-" + carouselName; var paginationGroup = "#aplus-pagination-group-" + moduleId + "-" + carouselName; /* If the carousel goes to a new page */ A.on("a:carousel:"+carouselName+":change:pageNumber", function (data) { A.$(paginationGroup+" .carousel-slider-circle").removeClass("aplus-carousel-active").attr('aria-selected', 'false').attr('tabindex', -1) .eq(data.newValue - 1).addClass("aplus-carousel-active").attr('aria-selected', 'true').attr('tabindex', 0); }); function syncPaginationDotsWithCarouselPages(numPages) { const parentElement = document.querySelector(paginationGroup); if (parentElement && parentElement.children) { const children = parentElement.children; for (let i = 0; i < children.length; i++) { if (i >= numPages) { // If number of dots > num of pages, we should hide other dots children[i].classList.add('aplus-pagination-dot--display-none'); } else if (children[i].classList.contains('aplus-pagination-dot--display-none')) { // Reset display of dots if it was hidden before children[i].classList.remove('aplus-pagination-dot--display-none'); } } } } framework.onInit(carouselName, function (carousel) { try { var totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); /* Resize event handler to re-calculate the pagination dots count based on orientation */ window.addEventListener('resize', function() { carousel.resize(); totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); }); A.declarative(paginationAction, 'click keydown', function(event){ var isClick = event.type === 'click'; var isKeydown = event.type === 'keydown'; var isEnter = isKeydown && event.$event.keyCode === ENTER_KEY_CODE; var isEsc = isKeydown && event.$event.keyCode === ESCAPE_KEY_CODE; var isLeftArrow = isKeydown && event.$event.keyCode === LEFT_ARROW_KEY; var isRightArrow = isKeydown && event.$event.keyCode === RIGHT_ARROW_KEY; var isHome = isKeydown && event.$event.keyCode === HOME_KEY; var isEnd = isKeydown && event.$event.keyCode === END_KEY; if (isClick || isEnter) { var data = event.data; carousel.gotoPage(data.page); } else if (isEsc) { event.$target.blur(); } else if (isLeftArrow || isRightArrow || isHome || isEnd) { event.$event.preventDefault(); const dots = A.$(paginationGroup + " .carousel-slider-circle"); const currentIndex = dots.index(event.$target); let nextIndex; if (isLeftArrow) { nextIndex = currentIndex > 0 ? currentIndex - 1 : dots.length - 1; } else if (isRightArrow) { nextIndex = currentIndex < dots.length - 1 ? currentIndex + 1 : 0; } else if (isHome) { nextIndex = 0; } else if (isEnd) { nextIndex = dots.length - 1; } dots.eq(nextIndex).focus(); carousel.gotoPage(nextIndex + 1); } }); } catch (e) { P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources'); } }); }); } }); }); (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when("A", "premium-aplus-14-carousel-4").execute(function (A, init) { init(); A.on("a:carousel:" + "premium-aplus-14-carousel-4" + ":change:pageNumber", function (data) { A.trigger("aplus:" + "video-carousel-" + "4" + "-" + data.oldValue + ":pause"); }); }); })); Previous page Next page 1 Playtime 2 Al Brainwave Audio 3 How to Wear 4 What's in the Box 5 Compare (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when('premium-module-12-nav-carousel').execute(function(init){ init(); }); })); Best Wearing Method for Sleep A30 Choose the best-fitting size of ear tips and wings for a tight seal and comfort for your side sleeping. Insert the earbud and adjust position for optimal fit. How do I use the Active Noise Cancellation feature? ANC uses adaptive algorithms for noise reduction with fine-tuning in 3-10s.Ensure proper seal with ear canal. Note:ANC off if 'Play Local Audio' set after sleep,change to 'Stop audio' to keep ANC on. How long do the earbuds last? 9H/45H (Earbuds/with case) for default mode. Battery life test method: With ANC enabled overnight, audio was played at 50% volume via Bluetooth for 1 hour before sleep. After sleep was detected, playback stopped automatically to reduce disturbance. Dynamic Snore Masking Feature Introduction and Usage Tips The charging case's mic detects snoring, and the earbuds adjust audio.Place case within 1m, mic facing headboard.Enable 'Recommended Snore Masking' for personalized sound. Note: Volume may adjust; masking reduces but doesn't eliminate snoring impact. Sleep A30 Tap Function Introduction and Usage Tips Please tap the earbud firmly. Default: Left- double-tap switch mode, triple-tap decrease volume; Right- double-tap ANC on/off, triple-tap increase volume. Customize or disable taps in the app. (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when('premium-module-11-faq').execute(function(init){ init(); }); }));

  • Block out Sleep Noise with ANC: Smart ANC with Ear Canal Adaptation Tech dynamically adjusts to your ears, providing deeper noise reduction for a tranquil night. Effectively block out snoring, pet sounds, appliance hum and outside traffic noise.
  • Adaptive Snore Masking: The charging case monitors and analyzes snoring sounds, while the earbuds constantly optimize the snore-masking audio. The audio uses soothing white noise to reduce fluctuations in snoring and helps promote restful sleep.
  • AI Brainwave Audio for Quicker Sleep: Binaural beats deliver different frequencies to each ear, which helps sync your brainwaves with calming patterns to promote relaxation and restful sleep.
  • All-Night Comfort for Side Sleeping: Boasts ultra-soft silicone, short nozzles, and a lightweight, slim profile to relieve pressure for side sleeping Using 3D mapping of thousands of ear canals, it's ergonomically shaped to fit most ears comfortably.
  • Your Custom Sleep Solution: Personalize your bedtime audio, sleep reminders, built-in alarms, and more with an easy, all-in-one setup for a restful night--just the way you like it.

The 30-Second Version

The Soundcore Sleep A30 are sleep earbuds that prioritize side-sleeping comfort and snore blocking over everything else. They sound terrible for music but work surprisingly well at masking noise, though buggy software and disappointing battery with ANC keep them from being an easy slam dunk.

Overview

If you've been hunting for a sleep-focused earbud that actually lets you sleep on your side without jabbing your ear, the Soundcore Sleep A30 from Anker is likely on your radar. These aren't your typical true wireless earbuds. They're purpose-built for one thing: helping you sleep through noise, especially snoring. With features like smart ANC that adapts to your ear canals, a snore-masking system that listens through the charging case, and even AI brainwave audio to speed up relaxation, the A30 tries to be a full sleep lab strapped to your head. Design-wise, they're tiny and shaped using 3D ear data, which Anker says makes them fit most ears comfortably for side sleeping.

The price is... all over the place. Our data shows them anywhere from $159 to a baffling $4,599, though the sensible buy is the $159 listing on Amazon. That wild spread is probably just weird third-party seller gouging, but it's worth noting that you shouldn't pay more than $200 unless you really enjoy burning cash. The earbuds themselves are featherlight, IPX4 splash-resistant, and pack a 45-hour case, but they're absolutely not meant for music. Anker barely hides that fact, and our objective sound score reflects it: the A30 lands in the bottom 4% of all earbuds we've tested for audio quality. But if you're like most shoppers searching for 'sleep earbuds for side sleepers' or 'earbuds to block snoring,' sound fidelity probably isn't the priority, and that's okay.

Comfort and noise control are where the A30 is supposed to shine, and from our analysis, it mostly succeeds there. The ear-tip design and short nozzles genuinely work for side sleeping, and the active noise cancellation, though not Sony-level, is in the top 12% for sleep earbuds. If you're hoping these will double as decent daytime buds for calls or podcasts, you'll be disappointed. The mic is subpar (bottom 36%) and the sound signature is tinny and lifeless. But as a sleep aid, the A30 carves out a unique niche that few competitors even attempt to fill.

Performance

Let's get the obvious out of the way: the Soundcore Sleep A30 sounds bad for music. Like, distractingly thin and compressed. That's not a bug—it's a design choice. The tiny 4.7mm dynamic drivers are tuned for low-volume white noise and masking sounds, not for Stravinsky or Stray Kids. In our standardized tests, it scored in the 4th percentile overall for sound quality. So if you're wondering 'Can I listen to podcasts on these?' the answer is yes, but they'll sound like a cheap AM radio. Now, for the stuff that actually matters: noise cancellation is surprisingly effective. The adaptive ANC system can reduce low-end rumble and steady-state sounds like a loud HVAC, and it's smart enough to adjust to your ear shape. It doesn't obliterate the world like a pair of over-ears, but it works well enough to make a partner's snoring significantly less intrusive.

Battery life is a mixed bag. You get 9 hours in the buds without ANC, which is solid and in the 82nd percentile. Toggle on ANC, and it drops sharply—some users report it barely makes it through a full night if snoring is loud and ANC is constantly cranking. The case provides 45 hours total, so you can get through a workweek without plugging in, which is convenient. One thing that stood out in our database: the social proof metric is sky-high, in the 99th percentile. That's mostly because of Anker's massive customer base and aggressive promotion, not necessarily because every owner adores them. In fact, the user sentiment score is actually in the bottom 21% for this category, so the buzz doesn't quite match the reality. The snore-masking algorithm is clever—the case listens and the buds adjust white noise in real time—but our buyer feedback says it's finicky and sometimes starts late.

Performance Percentiles

Anc 88.3
Mic 36.3
Build 78.9
Sound 3.6
Battery 82
Comfort 70.4
User Sentiment 20.9
Connectivity 77.9
Social Proof 99.3

Pros & Cons

Pros

  • Unbeatable comfort for side sleeping 99th
  • Effective snore and noise masking with ANC 88th
  • Customizable white noise library 82th
  • Tiny, lightweight design disappears in the ear 79th
  • Massive 45-hour case battery for non-ANC use

Cons

  • Sound quality is abysmal for music 4th
  • Frequent app glitches and connectivity hiccups 21th
  • Sleep tracking data is often inaccurate
  • ANC drains the battery too fast for a full night
  • Feels overpriced compared to basic foam earplugs

The Word on the Street

3.6/5 (7142 reviews)
👍 Buyers consistently praise the comfort for side sleeping and the effectiveness of the snore-masking feature.
👎 A common complaint is that the app is glitchy and sleep tracking data often seems made up or inconsistent.
🤔 Noise cancellation gets mixed marks; some find it helpful for snoring, while others say it barely makes a difference.

Specifications

Full Specifications

Design

Form Factor in-ear
Wearing Style ear-tip
Ear Tips silicone, foam
Weight 0.1 kg / 0.2 lbs

Audio

Driver Type Dynamic
Driver Size 4.7
Freq Min 20
Freq Max 20000
Impedance 16
Codecs soundcore Sleep A30 by Anker Sleep Earbuds, Smart Active Noise Cancelling Sleep Headphones, Adaptive Snore-Masking System, Ultra-Comfort for Side Sleepers, 45H Playtime

Noise Control

ANC Yes
ANC Type adaptive

Connectivity

Wireless Yes
Bluetooth 5.4

Earbud Battery

Battery Life 9
Charge Time 2
Charging USB-C

Case Battery

Case Battery 45
Case Charging USB-C
Wireless Charging No

Microphone

Microphone Yes
Mic Count 1

Features

Touch Controls Yes
App soundcore App
Bone Conduction No
Water Resistance IPX4

Value & Pricing

Value is where the Sleep A30 gets dicey. At $159 on Amazon, it's a justifiable investment if snoring ruins your sleep and you've tried everything else. At $4,599? That's a down payment on a quiet car, not an earbud. Ignore the crazy outliers. Even at its lowest price, the A30 is expensive for a device that does exactly one job and stumbles with software. You can get a white noise machine and a good memory foam pillow for under $50. But if your partner's snoring is a nightly battle and you need something discreet that doesn't block out an alarm, the comfort and pocketable form factor might be worth the premium. Just be aware that the user sentiment metric sits at a lowly 21st percentile, so plenty of buyers feel it falls short of the hype. For sleep-only use, the value proposition is decent—for anything else, it's poor.

Price History

180 $US 200 $US 220 $US 240 $US 260 $US 280 $US 4 mai12 mai21 mai 259 $US

vs Competition

You can't really stack the Soundcore Sleep A30 against mainstream wireless earbuds like the Sony WF-1000XM5 or Bose QuietComfort Ultra. Those are Swiss Army knives that also happen to suck for side sleeping—they're bulky, stick out of your ears, and will wake you up if you roll over. The Bose in particular has incredible ANC and sound, but good luck jamming it into a pillow. The A30, on the other hand, is a specialized scalpel. It's far worse at music and calls, but it slides into your ear canal almost flat, making it the only realistic option here for all-night, side-sleeping comfort. Samsung's Galaxy Buds3 Pro are a similar story: great for everything else, terrible for this.

If you're looking for something that can pull double duty as a sleep aid and a music buddy, you'll have to compromise. The Technics EAH-AZ100-K comes close with a slim shape and stellar sound, but it's still not designed for the constant pressure of a pillow. The honest comparison is with older sleep-specific buds like the discontinued Bose Sleepbuds II. The Anker A30 wins on battery and the novelty of adaptive snore masking, but loses on software polish and outright reliability. If your main goal is 'block snoring without pain,' the A30 is essentially the only game in town right now that combines ANC, comfort, and in-case sound masking.

Spec Soundcore Sleep A30 Technics Reference Class EAH-AZ100-K Sony WF-1000XM5 WF-1000XM5 Bose QuietComfort Ultra 896637-0010 Sennheiser MOMENTUM True Wireless 4 Samsung Galaxy Buds3 Pro SM-R630NZAAXAR
Form Factor in-ear in-ear in-ear in-ear in-ear in-ear
Driver Type Dynamic Planar Magnetic dynamic Dynamic dynamic Dynamic
Wireless true true true true true true
Active Noise Cancellation true true true true true true
Bluetooth Version 5.4 5.3 5.3 5.3 5.4 5.4
Battery Life Hours 9 10 8 6 30 6
Case Battery Hours 45 28 24 18 30 26
Water Resistance IPX4 IPX4 IPX4 IPX4 IP54 IP57
Multipoint - true true true true true
Compare Compare Compare Compare Compare
Product AncMicBuildSoundBatteryComfortUser SentimentConnectivitySocial Proof
Soundcore Sleep A30 88.336.378.93.68270.420.977.999.3
Technics Reference Class EAH-AZ100-K Compare 96.596.878.996.582.670.491.999.189.4
Sony WF-1000XM5 WF-1000XM5 Compare 96.596.878.999.37693.448.910080.2
Bose QuietComfort Ultra 896637-0010 Compare 96.590.378.996.447.293.491.997.896.9
Sennheiser MOMENTUM True Wireless 4 Compare 96.599.733.391.997.793.491.989.989.4
Samsung Galaxy Buds3 Pro SM-R630NZAAXAR Compare 96.596.898.989.97393.4097.889.4

Common Questions

Q: Can you sleep on your side with the Soundcore Sleep A30?

Yes, that's the whole point. The ultra-slim design and short nozzles use 3D ear mapping to sit flush with your ear, so they don't dig in when you roll onto a pillow.

Q: Is the Soundcore Sleep A30 good for music?

No, it's genuinely terrible for music. The tiny drivers produce thin, compressed audio that's fine for white noise but will disappoint anyone wanting to enjoy songs.

Q: How does the A30 handle snoring?

The charging case listens for snoring and adapts the white noise in real time to mask it. Plus, the active noise cancellation helps block low-frequency rumble, though it struggles with sudden sharp snores.

Q: Does ANC drain the battery fast on the A30?

Yes, noticeably. While you get up to 9 hours without ANC, keeping it active can cut that short and may not last a full night if the snoring is constant and the earbuds are working hard.

Who Should Skip This

Skip the Soundcore Sleep A30 if you want earbuds for music, podcasts, or calls. The audio quality is genuinely bottom-of-the-barrel, and the microphone is weak. Also avoid these if software bugs drive you crazy—the companion app has a reputation for glitches and inaccurate sleep stats. If you only need to block noise and don't care about adaptive snore masking, simple foam earplugs or a white noise machine will save you a lot of money. And if you're a back sleeper who doesn't press your ear into a pillow, most premium true wireless earbuds will sound infinitely better while still offering strong ANC.

Verdict

The Soundcore Sleep A30 is a one-trick pony, but it's a pretty good trick if you're a side-sleeper with a snoring partner. It won't replace your AirPods for music, and you'll probably curse the app a few times, but when it comes to staying in your ear comfortably all night while dulling the thunder of a snore, it delivers. We wouldn't recommend it to anyone who needs all-around earbuds—you'll hate the audio quality and microphone performance. But if you've reached the point of considering separate bedrooms just for silence, the A30 might be the marital aid you never knew you needed.

Should you buy it? If loud snoring or street noise consistently ruins your sleep and you need to stay on your side, yes. If you want great sound or a bug-free experience, walk away. The premium over simple foam earplugs is steep, but the adaptive masking and comfort are real advantages that no cheaper solution currently matches.

Usage Scores

Calls (41)Music (32.2)Overall (59.8)Budget (69.6)Gaming (40.7)Travel (55.8)Commute (54.1)Fitness (55.1)

Autres configurations1

Produits similaires