test_mediarecorder_record_session.html (1779B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=909670 5 --> 6 <head> 7 <meta charset="utf-8"> 8 <title>Test for Media Recoder recording session</title> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 11 <script type="text/javascript" src="manifest.js"></script> 12 </head> 13 <body> 14 <pre id="test"> 15 <script class="testbody" type="text/javascript"> 16 var manager = new MediaTestManager; 17 18 function startTest(test, token) { 19 var element = document.createElement('audio'); 20 21 element.token = token; 22 manager.started(token); 23 24 element.src = test.name; 25 element.test = test; 26 element.stream = element.mozCaptureStream(); 27 28 var mStopCount = 0; 29 // Start and stop recording session three times continuously. 30 var mExpectStopCount = 3; 31 var mediaRecorder = new MediaRecorder(element.stream); 32 33 // Stop callback. 34 // Suppose to receive mExpectStopCount 35 mediaRecorder.onstop = function stopCallback() { 36 mStopCount++; 37 38 info("MediaRecorder.onstop callback: (" + mStopCount + ")"); 39 40 if (mExpectStopCount === mStopCount) 41 { 42 manager.finished(token); 43 } 44 } 45 46 // data avaliable. 47 mediaRecorder.ondataavailable = function() {} 48 49 mediaRecorder.onerror = function(err) { 50 ok(false, 'Unexpected error fired with:' + err); 51 } 52 53 mediaRecorder.onwarning = function() { 54 ok(false, 'Unexpected warning fired'); 55 } 56 57 element.preload = "metadata"; 58 59 element.onloadedmetadata = function () { 60 element.onloadedmetadata = null; 61 element.play(); 62 for (var i = 0; i < mExpectStopCount; i++) { 63 mediaRecorder.start(1000); 64 mediaRecorder.stop(); 65 } 66 } 67 68 } 69 70 manager.runTests(gMediaRecorderTests, startTest); 71 72 </script> 73 </pre> 74 </body> 75 </html>