代码之家  ›  专栏  ›  技术社区  ›  jorscobry

动态音频<iframe>从Soundcloud嵌入

  •  0
  • jorscobry  · 技术社区  · 7 年前

    HTML格式:

    <iframe id="song" width="100%" height="20" scrolling="no" frameborder="no" allow="autoplay"></iframe>
    

    JS公司:

    var currentTime = new Date().getHours();
    var song = document.getElementById('song');
    var source = document.createElement('source');
    
    if (6 <= currentTime && currentTime < 19) {
        source.setAttribute('src', 'https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/482221002%3Fsecret_token%3Ds-ahwqc&color=%23577c5d&inverse=false&auto_play=true&show_user=true');
        song.appendChild(source);
        song.play();
    }
    else {
        source.setAttribute('src', 'https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/482220933%3Fsecret_token%3Ds-dEQ64&color=%23577c5d&inverse=true&auto_play=true&show_user=true');
        song.appendChild(source);
        audio.play();
    }
    

    1 回复  |  直到 7 年前
        1
  •  1
  •   Christopher Dosin    7 年前

    下面是jquery的一个工作示例。但似乎Soundcloud在Stackoverflow上阻止了这个例子。但它在工作,这是一个工作 jsfiddle

    var hour = (new Date()).getHours(); 
    var iframe = $('#iframe');
    if (hour >= 24 && hour <=6) {
      iframe.attr('src','https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/482221002%3Fsecret_token%3Ds-ahwqc&color=%23577c5d&inverse=false&auto_play=true&show_user=true');   
    } else {
      iframe.attr('src','https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/482220933%3Fsecret_token%3Ds-dEQ64&color=%23577c5d&inverse=true&auto_play=true&show_user=true');   
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <iframe id="iframe"></iframe>

    下面是一个纯javascript和 jsfiddle

    var currentTime = new Date().getHours();
    var song = document.getElementById('song');
    
    if (currentTime >= 24 && currentTime <=6) {
        song.setAttribute('src', 'https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/482221002%3Fsecret_token%3Ds-ahwqc&color=%23577c5d&inverse=false&auto_play=true&show_user=true');
    }
    else {
        song.setAttribute('src', 'https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/482220933%3Fsecret_token%3Ds-dEQ64&color=%23577c5d&inverse=true&auto_play=true&show_user=true');
    }
    <iframe id="song" scrolling="no" frameborder="no" allow="autoplay"></iframe>

    <source> 这毫无意义。你已经有你的元素了 var song = document.getElementById('song'); 拿着iframe换一下 src 基于时间的属性。