javascript - Chrome Extension Capture Tab Audio -
i'm trying create chrome extension captures audio active tab , either sends server or makes accessible via url.
i'm using chrome.tabcapture.capture
api , can mediastream
of tab's audio, don't know after that.
the chrome docs have nothing mediastreams i've looked through documentation here , played js debugger see methods available, can't find way send mediastream somewhere.
it's possible record stream locally in js using mediarecorder
. there demo here , w3c spec here
the method startrecording
in demo requires window.stream
set mediastream instance.
// nested try blocks simplified when chrome 47 moves stable var mediarecorder; var recordedblobs; window.stream = mymediastreaminstance; function startrecording() { var options = {mimetype: 'video/webm', bitspersecond: 100000}; recordedblobs = []; try { mediarecorder = new mediarecorder(window.stream, options); } catch (e0) { console.log('unable create mediarecorder options object: ', e0); try { options = {mimetype: 'video/webm,codecs=vp9', bitspersecond: 100000}; mediarecorder = new mediarecorder(window.stream, options); } catch (e1) { console.log('unable create mediarecorder options object: ', e1); try { options = 'video/vp8'; // chrome 47 mediarecorder = new mediarecorder(window.stream, options); } catch (e2) { alert('mediarecorder not supported browser.\n\n' + 'try firefox 29 or later, or chrome 47 or later, enable experimental web platform features enabled chrome://flags.'); console.error('exception while creating mediarecorder:', e2); return; } } } console.log('created mediarecorder', mediarecorder, 'with options', options); // ui cleanup here mediarecorder.onstop = function() {/** stop */}; mediarecorder.ondataavailable = function() {/** data avail */}; mediarecorder.start(10); // collect 10ms of data console.log('mediarecorder started', mediarecorder); }
Comments
Post a Comment