Premium Outdoor Speakers | All Weather Landscaping (2024)

Premium Outdoor Speakers | All Weather Landscaping (1)

Take It Outside!

Discover the joy of outdoor audio with our premium range of outdoor speakers at Outdoor Speaker Depot. Engineered to withstand the elements, these speakers deliver high-quality sound in any outdoor environment. From compact patio speakers to powerful landscape systems, our outdoor speakers are designed to bring your favorite music, movies, and media to your backyard, pool area, or outdoor commercial space. Experience the combination of durable construction, weather-resistant materials, and superior sound quality that makes our speakers the go-to choice for outdoor entertainment.

$299Compare at: $509.99You Save: $210.99OSD BTR805 8" Bluetooth® Rock Speaker Outdoor Weather Resistant, Brown/Grey (Pair)
$169.99Compare at: $254.99You Save: $855.25" Bluetooth® Wireless Weather Resistant Rock Speaker Pair, Brown, Grey or Slate - BTR150
$299Compare at: $448.99You Save: $149.996.5" Bluetooth® 5.0 Outdoor Patio Speaker Pair 150W, IP54 Rated, Black or White BTP650
$179.99Compare at: $269.99You Save: $905.25" Bluetooth® 5.0 Outdoor Patio Speaker Pair 100W, IP54 Rated, Black or White BTP525
$399.99Compare at: $599.99You Save: $200OSD 12" In-Ground Subwoofer 600W Outdoor Burial Rated XSUB12
$66.02Compare at: $98.99You Save: $32.97LS3-B Landscape 60W IP65-rated Outdoor Landscape Speaker Pair with Mounting Hardware, Bronze Color
$109.99Compare at: $149.99You Save: $40OSD Forza 6.5" Pendant Speaker IP66 Rated, Hanging or Landscape, 8 Ohm/70V Tap, Bronze (Single)
$89.99Compare at: $134.99You Save: $45OSD Forza 5.25" Pendant Speaker IP66 Rated, Hanging or Landscape, 8 Ohm/70V Tap, Bronze (Single)
$129.99Compare at: $194.99You Save: $65OSD Forza 8" Omni Speaker 200W, 360° Dispersion IP65 Rated, Bronze
$179.99Compare at: $269.99You Save: $90OSD Forza 8" Omni Speaker 200W w/ 70V Tap, 360° Dispersion IP65 Rated, Green
$129Compare at: $193.99You Save: $64.99OSD Forza 8" Omni Outdoor Subwoofer w/ Crossover 250W, 2x Speaker Output, IP65 Rated, Bronze
$209Compare at: $313.99You Save: $104.998" 2 Way, 200W Rock Speaker, Sandstone Brown, Granite Gray or Slate, Single - RS850

  • Call Us:
  • 888-779-4968
  • Email:
  • support@osdaudio.com
  • Questions:
  • FAQs


© 2003-2024 OSD Audio. All Rights Reserved.

';var loadinghtml_myFacetResults = '

Premium Outdoor Speakers | All Weather Landscaping (18)

';var loadinghtml_myFacetRefinery = '';/* GD Set the area to scroll to the results. GDCP */window.GDFacetsScrollToResults = function () {setTimeout(function () {if(window.innerWidth >= 960) {/* Desktop. Keep in mind sticky header */$("html, body").animate({ scrollTop: $("main").offset().top }, 600);} else {/* Mobile and no sticky header */$("html, body").animate({ scrollTop: $(".x-collapsing-breadcrumbs").offset().top }, 600);}}, 150);}/* GD We need to now trigger all the theme scripts that do lazy loading and other crazy fun stuff. GDCP */window.GDFacetsAfterDataLoaded = function (what_to_do) {if(what_to_do=='full_from_back_button') {//elementsUI.site();elementsUI.pages.common();//themeFunctionality.init();themeFunctionality.sharedFunctions.observeDeferred();//themeFunctionality.jsCTGY();try {window.init_custom_selects('ajax_reload');}catch(err) {/* console.log("Check init_custom_selects."); */}} else {elementsUI.pages.common();themeFunctionality.sharedFunctions.observeDeferred();themeFunctionality.jsCTGY();window.init_custom_selects('ajax_reload');}gdRangeFinderFixes();}/* GD GDFacetsReloadFromPrev reloads the facet areas using previous data saved in the #js-GDfacetMemory form */window.GDFacetsReloadFromPrev = function () {/* Get saved JSON data from the 3 form inputs in the #js-GDfacetMemory form */var remember_myFacetSort = $("#js-remember_myFacetSort").val();var remember_myFacetTree = $("#js-remember_myFacetTree").val();var remember_myFacetResults = $("#js-remember_myFacetResults").val();var remember_myFacetRefinery = $("#js-remember_myFacetRefinery").val();var updated_at_least_one = false;/* Use saved data to populate the multiple facet areas. */if(remember_myFacetSort != '') {$("#myFacetSort").html(loadinghtml_myFacetSort);$("#myFacetSort").html(remember_myFacetSort);updated_at_least_one = true;} else {/* console.log("Nothing in remember_myFacetSort to reload."); */}if(remember_myFacetTree != '') {$("#myFacetTree").html(loadinghtml_myFacetTree);$("#myFacetTree").html(remember_myFacetTree);updated_at_least_one = true;} else {/* console.log("Nothing in remember_myFacetTree to reload."); */}if(remember_myFacetResults != '') {$("#myFacetResults").html(loadinghtml_myFacetResults);$("#myFacetResults").html(remember_myFacetResults);updated_at_least_one = true;} else {/* console.log("Nothing in remember_myFacetResults to reload."); */} if(remember_myFacetRefinery != '') {$("#myFacetRefinery").html(loadinghtml_myFacetRefinery);$("#myFacetRefinery").html(remember_myFacetRefinery);updated_at_least_one = true;} else {/* console.log("Nothing in remember_myFacetRefinery to reload."); */} if(updated_at_least_one) {/* GD Now Reinit any Theme JS functions. */GDFacetsAfterDataLoaded('full_from_back_button');/* GD Now scroll the user to the new content. */GDFacetsScrollToResults();}/* console.log("GDFacetsReloadFromPrev() Finished."); */}/* GD Override Function MMProdList_UpdateQuery_SubmitParameters from clientside.mvc?Filename=runtime_ui.js */window.MMProdList_UpdateQuery_SubmitParameters = function ( form, params, gdversion ){/* console.log("GD Override OK: MMProdList_UpdateQuery_SubmitParameters"); */var i, j, i_len, j_len, elements, params_output_array;/* We don't want this mmprodlist_updatequery_submitparameters_submitted var to kill the function because we're reusing it now. GDCP *//*if ( window.mmprodlist_updatequery_submitparameters_submitted ){return;}window.mmprodlist_updatequery_submitparameters_submitted = true;*/params_output_array = new Array();params.sort( function( a, b ) { return sortAlphaNumeric( a.name, b.name, true ); } );for ( i = 0, i_len = params.length; i < i_len; i++ ){for ( j = 0, j_len = params[ i ].values.length; j < j_len; j++ ){if ( params[ i ].values[ j ].length ){params_output_array.push( encodeURIComponent( params[ i ].name ) + '=' + encodeURIComponent( params[ i ].values[ j ] ) );}}}/* GD: Append the JSON View to the params array. Force the view to be JSON output. GDCP */params_output_array.push( 'view=json' );params_output_array.push( 'killcache2=' + new Date().getTime());/* We're not setting these listeners anymore. They cause a "hickup" with the overrides we do. GDCP */ /*if ( window.mmprodlist_updatequery_submitparameters_timeout ){clearTimeout( window.mmprodlist_updatequery_submitparameters_timeout );delete window.mmprodlist_updatequery_submitparameters_timeout;}if ( window.mmprodlist_updatequery_submitparameters_timeout_event_attached ){elements = form.getElementsByTagName( '*' );for ( i = 0, i_len = elements.length; i < i_len; i++ ){RemoveEvent( elements[ i ], 'mousedown', window.mmprodlist_updatequery_submitparameters_timeout_event_function );RemoveEvent( elements[ i ], 'mousemove', window.mmprodlist_updatequery_submitparameters_timeout_event_function );RemoveEvent( elements[ i ], 'mouseup', window.mmprodlist_updatequery_submitparameters_timeout_event_function );}}*//* GD NOT SENDING TO NEW WINDOW!window.location.href = [ window.location.protocol, '//', window.location.host, window.location.pathname ].join( '' ) + ( params_output_array.length ? ( '?' + params_output_array.join( '&' ) ) : '' );*//* GD: Set the URL of the page to get the JSON data. */var GDfacets_DataURL = [ window.location.protocol, '//', window.location.host, window.location.pathname ].join( '' ) + ( params_output_array.length ? ( '?' + params_output_array.join( '&' ) ) : '' );/* console.log("GDfacets_DataURL: "+GDfacets_DataURL); *//* GD Populate the areas with something while we load new data. */$("#myFacetResults").html(loadinghtml_myFacetResults);/*$("#myFacetSort").html(loadinghtml_myFacetSort);*//*$("#myFacetTree").html(loadinghtml_myFacetTree);*//*$("#myFacetRefinery").html(loadinghtml_myFacetRefinery);*//* GD Ajax Post to the page so we can get the JSON data back and load the various sections all at once with new data. */$.post(GDfacets_DataURL,function(json_data) { })/*for success*/.done(function(json_data) {/* GD Now scroll the user to the new content. */if(json_data.products_on_page_count > 0) {/* GD Load the various sections all at once with new HTML. */$("#myFacetSort").html(json_data.new_myFacetSort);$("#myFacetTree").html(json_data.new_myFacetTree);$("#myFacetResults").html(json_data.new_myFacetResults);$("#myFacetRefinery").html(json_data.new_myFacetRefinery);/* GD Save the new HTML to the remember form fields. */$("#js-remember_myFacetSort").val(json_data.new_myFacetSort);$("#js-remember_myFacetTree").val(json_data.new_myFacetTree);$("#js-remember_myFacetResults").val(json_data.new_myFacetResults);$("#js-remember_myFacetRefinery").val(json_data.new_myFacetRefinery);$("#js-remember_products_found").val(json_data.products_on_page_count);/* GD Now Reinit any Theme JS functions. */GDFacetsAfterDataLoaded();/* Scroll to results */GDFacetsScrollToResults();} else {/* There are no valid results. */$("#myFacetResults").html('

Sorry, no results match these filters.

Undo the last filter or RESET.

');}})/*for failed*/.fail(function(json_data) {/* console.log( "error reloading avail facets to "+doAjaxFacetURL ); */})/*for completion, whether success or error*/.always(function(json_data) {}); }/* GD Override Function MMProdList_UpdateQuery_SubmitParameters_Timeout from clientside.mvc?Filename=runtime_ui.js*/window.MMProdList_UpdateQuery_SubmitParameters_Timeout = function ( form, submit_delay, gdversion ){/* console.log("GD Override OK: MMProdList_UpdateQuery_SubmitParameters_Timeout"); */var i, i_len, elements;submit_delay = stoi_def_nonneg( submit_delay, 0 )if ( window.mmprodlist_updatequery_submitparameters_timeout ){clearTimeout( window.mmprodlist_updatequery_submitparameters_timeout );delete window.mmprodlist_updatequery_submitparameters_timeout;}if ( submit_delay === 0 ){return MMProdList_UpdateQuery_SubmitParameters_LowLevel( form );}window.mmprodlist_updatequery_submitparameters_timeout = setTimeout( function() { MMProdList_UpdateQuery_SubmitParameters_LowLevel( form ); }, submit_delay );if ( !window.mmprodlist_updatequery_submitparameters_timeout_event_attached ){window.mmprodlist_updatequery_submitparameters_timeout_event_attached = true;window.mmprodlist_updatequery_submitparameters_timeout_event_function = function( event ) { MMProdList_UpdateQuery_SubmitParameters_Timeout( form, submit_delay ); };/* We're not setting these listeners anymore. They cause a "hickup" with the overrides we do. GDCP *//*elements = form.getElementsByTagName( '*' );for ( i = 0, i_len = elements.length; i < i_len; i++ ){AddEvent( elements[ i ], 'mousedown', window.mmprodlist_updatequery_submitparameters_timeout_event_function );AddEvent( elements[ i ], 'mousemove', window.mmprodlist_updatequery_submitparameters_timeout_event_function );AddEvent( elements[ i ], 'mouseup', window.mmprodlist_updatequery_submitparameters_timeout_event_function );}*/}}/* GD Override Function MMProdList_UpdateQuery_Notify_Updating from clientside.mvc?Filename=runtime_ui.js*/ window.MMProdList_UpdateQuery_Notify_Updating = function ( form, gdversion ){/* console.log("GD Override OK: MMProdList_UpdateQuery_Notify_Updating"); */var i, i_len;/* We're not disabling the facet fields anymore. We can if needed. It's not required. GDCP *//*for ( i = 0, i_len = form.elements.length; i < i_len; i++ ){form.elements[ i ].setAttribute( 'disabled', 'disabled' );}*/}});}

Premium Outdoor Speakers | All Weather Landscaping (2024)

References

Top Articles
Latest Posts
Article information

Author: Aron Pacocha

Last Updated:

Views: 6195

Rating: 4.8 / 5 (68 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Aron Pacocha

Birthday: 1999-08-12

Address: 3808 Moen Corner, Gorczanyport, FL 67364-2074

Phone: +393457723392

Job: Retail Consultant

Hobby: Jewelry making, Cooking, Gaming, Reading, Juggling, Cabaret, Origami

Introduction: My name is Aron Pacocha, I am a happy, tasty, innocent, proud, talented, courageous, magnificent person who loves writing and wants to share my knowledge and understanding with you.