2013-09-03 4 views

답변

1

여기 Popcorn.js 및 jQuery를 사용하여 a solution입니다 :

된 index.html을

<div id="choose"> 
    <p>Audio URL: 
    <input type="text" id="audio-url" /> 
    <br/>(Example: http://thelab.thingsinjars.com/web-audio-tutorial/hello.mp3)</p> 
    <br/> 
    <br/> 
    <p>Video URL: 
    <input type="text" id="video-url" /> 
    <br/>(Example: http://vimeo.com/73605534)</p> 
    <br/> 
    <br/> 
    <button id="doit">Do It!</button> 
</div> 
<div id="dopop"> 
    <button id="toggle">Play/Pause</button> 
    <br/> 
    <br/> 
    <input type="range" min="0" max="100" name="range" id="range" /> 
    <br/> 
    <div id="source1"> 
    <p> <span class="gain">Source 1 Gain: 1.0</span> 

     <br/> 
     <div id="audio"></div> 
    </p> 
    </div> 
    <hr/> 
    <div id="source2"> 
    <p><span class="gain">Source 2 Gain: 1.0</span> 

     <br/> 
     <div id="video"></div> 
    </p> 
    </div> 
</div> 

인라인 스크립트

function doPop() { 
    $("#choose").hide(); 
    $("#dopop").show(); 
    // create an instance of popcorn 
    var popcorn = Popcorn.smart("#audio", $("#audio-url").val()); 
    var popcorn2 = Popcorn.smart("#video", $("#video-url").val()); 

    popcorn.on('play', function() { 
    popcorn2.play(); 
    }); 

    popcorn.on('pause', function() { 
    popcorn2.pause(); 
    }); 

    popcorn2.on('play', function() { 
    popcorn.play(); 
    }); 

    popcorn2.on('pause', function() { 
    popcorn.pause(); 
    }); 

    var clicked = false; 

    $("#toggle").click(function() { 
    if (clicked) { 
     popcorn.pause(); 
     clicked = false; 
    } else { 
     popcorn.play(); 
     clicked = true; 
    } 
    }); 

    $("#range").change(function() { 
    var x = parseInt($(this).val())/100; 
    // Use an equal-power crossfading curve: 
    var gain1 = Math.cos(x * 0.5 * Math.PI); 
    var gain2 = Math.cos((1.0 - x) * 0.5 * Math.PI); 
    popcorn.volume(gain1); 
    popcorn2.volume(gain2); 
    $("#source1 .gain").text("Source 1 Gain: " + gain1); 
    $("#source2 .gain").text("Source 2 Gain: " + gain2); 
    }); 

} 

$("#doit").click(function() { 
    doPop(); 
});