<audio> tag doesn't report 'canplay' until 'played' altough autobuffer/preload

Originator:mc
Number:rdar://8789300 Date Originated:20-Dec-2010 07:01 PM
Status:Open Resolved:
Product:iPhone SDK Product Version:4.2.1
Classification:Serious Bug Reproducible:Always
 
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript">
            function load() {   
		myAudio = document.getElementsByTagName("audio")[0];
                myAudio.addEventListener('canplay', function () {
                  console.log('Audio Ready to play!');
                });
            }   
        </script>    
    </head>
     <body onload="load();">   
        <audio controls src="http://stream.radiocampusparis.org:8000/stream_rcp.mp3" preload="auto" autobuffer></audio>
      </body>
</html>

Try this on a Mac, then on a WebKit Mobile device. Won't work on the Mobile device. Tested on Android, & iOS. Works fine on WebOS.

Comments

Works prefectly fine on WebOS

turns out it works on WebOS, edited my report. Apple & Google aren't doing something nice here, where Palm/HP does it.

Forgot a line in the code :-)

                            myAudio = document.getElementsByTagName("audio")[0];

added it :)


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!