<html>
    <script>
        function load()
        {
            var url="http://movies.apple.com/movies/us/apple/ipoditunes/2007/touch/ads/apple_ipodtouch_touch_r640-9cie.mov";
            var vid = document.getElementById('vid')
            vid.src = url;
            vid.volume = 0.05;
            vid.load();
        }
        function setVolume(vol)
        {
            var vid = document.getElementById('vid')
            vid.volume = vol;
        }
    </script>
            
    <body>

        <video id=vid controls autoplay>
        </video>
        <p>TEST: Audio volume should be 0.05 when the movie begins playing.</p>
        <input type="button" value="Load movie" onclick="load()">
        <br>
        <input type="button" value="volume=1.0" onclick="setVolume(1.0)">
        <input type="button" value="volume=0.05" onclick="setVolume(0.05)">
    </body>
</html?
