Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Unified Diff: ppapi/examples/audio_input/audio_input.html

Issue 9557007: PPB_AudioInput_Dev: support multiple audio input devices - Part 1. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Changes in response to Trung's comments. Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ppapi/examples/audio_input/audio_input.cc ('k') | ppapi/proxy/ppapi_messages.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/examples/audio_input/audio_input.html
diff --git a/ppapi/examples/audio_input/audio_input.html b/ppapi/examples/audio_input/audio_input.html
index bfa91cd3582a0a0da25e4c6255e6f98bc2936830..624ad99f0e90800cc35b842c920c164304439071 100644
--- a/ppapi/examples/audio_input/audio_input.html
+++ b/ppapi/examples/audio_input/audio_input.html
@@ -7,12 +7,93 @@
-->
<head>
<title>Audio Input Example</title>
-</head>
+ <script type="text/javascript">
+ var device_array = [];
-<body>
+ function HandleMessage(message_event) {
+ if (message_event.data) {
+ var status = document.getElementById('status');
+ if (message_event.data == 'EnumerationFailed') {
+ status.innerText = 'Device enumeration failed!';
+ } else if (message_event.data == 'OpenFailed') {
+ status.innerText = 'Open device failed!';
+ } else if (message_event.data == 'StartFailed') {
+ status.innerText = 'Start capturing failed!';
+ } else if (message_event.data == 'StopFailed') {
+ status.innerText = 'Stop capturing failed!';
+ } else {
+ device_array = message_event.data.split('#__#');
+
+ var list = document.getElementById('device_list');
+ for (var i = 0; i < device_array.length; ++i) {
+ var list_item = document.createElement('li');
+ var link = document.createElement('a');
+ link.href = 'javascript:UseDesignatedDevice(' + i + ');';
+ link.innerText = device_array[i];
+ list_item.appendChild(link);
+ list.appendChild(list_item);
+ }
+ }
+ }
+ }
+
+ function UseDesignatedDevice(index) {
+ UseDevice(device_array[index], index);
+ }
+
+ function UseDefaultDevice(use_0_1_interface) {
+ var display_text = use_0_1_interface ? 'Default(v0.1)' : 'Default';
+ var command = use_0_1_interface ? 'UseDefault(v0.1)' : 'UseDefault';
+ UseDevice(display_text, command);
+ }
+
+ function UseDevice(display_text, command) {
+ var in_use_device = document.getElementById('in_use_device');
+ in_use_device.innerText = display_text;
+ var plugin = document.getElementById('plugin');
+ plugin.postMessage(command);
-<embed id="plugin" type="application/x-ppapi-example-audio-input"
- width="800" height="400"/>
+ var available_devices = document.getElementById('available_devices');
+ available_devices.parentNode.removeChild(available_devices);
+ var control_panel = document.getElementById('control_panel');
+ var link = document.createElement('a');
+ link.href = 'javascript:Stop();';
+ link.innerText = 'Stop';
+ control_panel.appendChild(link);
+ }
+
+ function Stop() {
+ var plugin = document.getElementById('plugin');
+ plugin.postMessage('Stop');
+ }
+
+ function Initialize() {
+ var plugin = document.getElementById('plugin');
+ plugin.addEventListener('message', HandleMessage, false);
+ plugin.postMessage('PageInitialized');
+ }
+
+ document.addEventListener('DOMContentLoaded', Initialize, false);
+ </script>
+</head>
+
+<body>
+ <embed id="plugin" type="application/x-ppapi-example-audio-input"
+ width="800" height="400"/>
+ <div style="margin-bottom:10px">In-use device:
+ <span id="in_use_device" style="font-weight:bold">None</span>
+ </div>
+ <div id="available_devices">
+ Available device(s), choose one to open:
+ <ul id="device_list">
+ <li><a href="javascript:UseDefaultDevice(true);">
+ Default - use interface version 0.1</a></li>
+ <li><a href="javascript:UseDefaultDevice(false);">
+ Default - use interface version 0.2 and NULL device ref</a></li>
+ </ul>
+ </div>
+ <div id="control_panel"></div>
+ <div id="status"></div>
</body>
</html>
« no previous file with comments | « ppapi/examples/audio_input/audio_input.cc ('k') | ppapi/proxy/ppapi_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698