blob: 10f2439deded13c3a783cc632eb4f4f5dea7ca8d [file] [edit]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Testing local audio capture playback causes "playing" event to fire</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
</head>
<body>
<audio id="audio" autoplay></audio>
<audio id="audioNoAutoplay" autoplay></audio>
<script>
if (window.testRunner)
testRunner.setUserMediaPermission(true);
promise_test(async (test) => {
audio.srcObject = await navigator.mediaDevices.getUserMedia({audio: true});
test.add_cleanup(() => audio.srcObject.getTracks().forEach(track => track.stop()));
var eventWatcher = new EventWatcher(test, audio, 'playing');
return eventWatcher.wait_for('playing');
}, 'Local audio playback fires playing event');
promise_test(async (test) => {
audioNoAutoplay.srcObject = await navigator.mediaDevices.getUserMedia({audio: true});
test.add_cleanup(() => audioNoAutoplay.srcObject.getTracks().forEach(track => track.stop()));
audioNoAutoplay.play();
var eventWatcher = new EventWatcher(test, audioNoAutoplay, 'playing');
return eventWatcher.wait_for('playing');
}, 'Calling play synchronously after setting srcObject shoud play and fire playing event');
</script>
</body>
</html>