2015-08-24 1 views
0

Итак, у меня есть iframe, чей «src» указывает на URL-адрес какой-то музыки. Iframe скрыт и автоматически воспроизводит музыку. Как добавить кнопку для отключения музыки?Беззвучная музыка, играемая в iframe?

<iframe hidden="true" frameborder="no" border="0" marginwidth="0" marginheight="0" width=330 height=86 
     src="http://urlofmusic"></iframe> 

Обратите внимание, что музыка с внешнего сайта. Также URL-адрес не указывает на конкретный файл. Это просто внешняя ссылка, предоставляемая веб-сайтом.

+0

могли бы вы предоставить код, чтобы мы могли видеть, что вы делаете? – MattD

+0

- это 'http: // urlofmusic', указывающий на некоторый аудиофайл? ('.mp3') Этот файл находится на том же сервере, что и ваша страница? Если эти два условия истинны, вы можете получить к нему доступ через 'document.querySelector ('iframe'). ContentDocument.querySelector ('video')' затем просто измените его свойство 'muted' на' true', если вы просто хотите отключить звук это или даже вызывать его метод 'pause()'. – Kaiido

+0

Воспроизводится ли музыка через тег HTML5 или Flash? – bonesbrigade

ответ

1

Единственный способ отключить звук IFRAME, это удалить это из html. Вы можете клонировать его для unmute позже. Но вы не можете останавливаться и возобновляться, как остановить и играть.
HTML

<div id = "iframe_contain"> 
    <iframe width="0" height="0" hidden="hidden" id="iframe" 
     src="http://www.youtube.com/embed/y6120QOlsfU?autoplay=1&loop=1"> 
    </iframe> 
</div> 
<a href="javascript:" id="mute">Mute</a><a href="javascript:" id="unmute">Unmute</a> 

JS

(function(){ 
    $("#mute").click(mute); 
    $("#unmute").click(unmute); 
    //backup iframe 
    var iframe_bk; 
    //play status 
    var status = 1; 
    function mute(){ 
     if(status!=1) return; 
     var iframe = $("#iframe"); 
     iframe_bk = iframe.clone(); 
     iframe.remove(); 
     status = 0; 
    } 
    function unmute(){ 
     if(status!=0) return; 
     if(iframe_bk){ 
      $("#iframe_contain").append(iframe_bk); 
      iframe_bk = null; 
      status = 1; 
     } 
    } 
})(); 

Я использую JQuery и здесь работает версия в jsfiddle

1

Вы хотите использовать параметр «управляет» внутри аудио тега

<audio controls> 
<source src="nameofsong.ogg" type="audio/ogg"> 
<source src="nameofsong.mp3" type="audio/mpeg"> 
audio tag not supported message optional 
</audio> 

Вы можете заменить имя файла для URL песни в ЦСИ

+0

, укажет ли он его? – Lixu

+0

Вы можете обратиться к моему изданию выше. URL не указывает на какой-либо музыкальный файл. Вместо этого это адрес всего iframe, предоставленного внешним веб-сайтом. – Lixu

Смежные вопросы