OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <!-- | 3 <!-- |
4 Copyright 2015 The Chromium Authors. All rights reserved. | 4 Copyright 2015 The Chromium Authors. All rights reserved. |
5 Use of this source code is governed by a BSD-style license that can be | 5 Use of this source code is governed by a BSD-style license that can be |
6 found in the LICENSE file. | 6 found in the LICENSE file. |
7 --> | 7 --> |
8 <head> | 8 <head> |
9 <title>Audio Encoder Example</title> | 9 <title>Audio Encoder Example</title> |
10 <script type="text/javascript"> | 10 <script type="text/javascript"> |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 // input sample rate. | 224 // input sample rate. |
225 i += writeValue(buffer, 4, i, format.sample_rate); | 225 i += writeValue(buffer, 4, i, format.sample_rate); |
226 // output gain. | 226 // output gain. |
227 i += writeValue(buffer, 2, i, 0); | 227 i += writeValue(buffer, 2, i, 0); |
228 // channel mapping family. | 228 // channel mapping family. |
229 i += writeValue(buffer, 1, i, 0); | 229 i += writeValue(buffer, 1, i, 0); |
230 | 230 |
231 this._writePage(this._Start, buffer.byteLength); | 231 this._writePage(this._Start, buffer.byteLength); |
232 this.buffer.appendData(buffer); | 232 this.buffer.appendData(buffer); |
233 this._writePageChecksum(start); | 233 this._writePageChecksum(start); |
234 this._writeCommentHeader('OpusTags'); | 234 this._writeCommentHeader(); |
235 }, | 235 }, |
236 _writeCommentHeader: function(name) { | 236 _writeCommentHeader: function(name) { |
237 var start = this.buffer.getSize(); | 237 var start = this.buffer.getSize(); |
238 var buffer = new Uint8Array(8 + 4 + 8 + 4 + 4 + 13), i = 0; | 238 var buffer = new Uint8Array(8 + 4 + 8 + 4 + 4 + 13), i = 0; |
239 // Opus comment header. | 239 // Opus comment header. |
240 i += writeString(buffer, i, name); | 240 i += writeString(buffer, i, 'OpusTags'); |
241 // Vendor string. | 241 // Vendor string. |
242 i += this._writeLengthString(buffer, i, 'Chromium'); | 242 i += this._writeLengthString(buffer, i, 'Chromium'); |
243 // User comment list length | 243 // User comment list length |
244 i += writeValue(buffer, 4, i, 1); | 244 i += writeValue(buffer, 4, i, 1); |
245 // User comment 0 length. | 245 // User comment 0 length. |
246 i += this._writeLengthString(buffer, i, 'TITLE=example'); | 246 i += this._writeLengthString(buffer, i, 'TITLE=example'); |
247 | 247 |
248 this._writePage(this._Continue, buffer.byteLength); | 248 this._writePage(0, buffer.byteLength); |
249 this.buffer.appendData(buffer); | 249 this.buffer.appendData(buffer); |
250 this._writePageChecksum(start); | 250 this._writePageChecksum(start); |
251 }, | 251 }, |
252 _writeLengthString: function(buffer, offset, str) { | 252 _writeLengthString: function(buffer, offset, str) { |
253 return (writeValue(buffer, offset, 4, str.length) + | 253 return (writeValue(buffer, 4, offset, str.length) + |
254 writeString(buffer, offset, str)); | 254 writeString(buffer, offset + 4, str)); |
255 }, | 255 }, |
256 writeData: function(data) { | 256 writeData: function(data) { |
257 this.position += this.format.sample_per_frame / this.format.channels; | 257 this.position += this.format.sample_per_frame / this.format.channels; |
258 var start = this.buffer.getSize(); | 258 var start = this.buffer.getSize(); |
259 this._writePage(0, data.byteLength, this.position); | 259 this._writePage(0, data.byteLength, this.position); |
260 this.buffer.appendData(data); | 260 this.buffer.appendData(data); |
261 this._writePageChecksum(start); | 261 this._writePageChecksum(start); |
262 this.dataWritten = true; | 262 this.dataWritten = true; |
263 }, | 263 }, |
264 end: function() { | 264 end: function() { |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 | 409 |
410 <select id="profileList"></select> | 410 <select id="profileList"></select> |
411 <input type="button" id="start" value="Start Recording"/> | 411 <input type="button" id="start" value="Start Recording"/> |
412 <input type="button" id="stop" value="Stop Recording"/> | 412 <input type="button" id="stop" value="Stop Recording"/> |
413 <div id="download-box"></div> | 413 <div id="download-box"></div> |
414 <div id="length"></div> | 414 <div id="length"></div> |
415 <br> | 415 <br> |
416 <embed id="plugin" type="application/x-ppapi-example-audio-encode"/> | 416 <embed id="plugin" type="application/x-ppapi-example-audio-encode"/> |
417 </body> | 417 </body> |
418 </html> | 418 </html> |
OLD | NEW |