5

Sto provando a creare un'app Web che catturi sia gli audio locali che quelli remoti da una chiamata webrtc, ma non posso registrare l'audio remoto (utilizzando recordRTC). Mi stavo chiedendo se potevo catturare il suono del sistema in qualche modo.Cattura audio di sistema dal browser

C'è un modo per acquisire il suono del sistema (non solo il microfono) dal browser. Forse un'estensione?

+0

addon Firefox lavora qui - https://www.webrtc-experiment.com/RecordRTC/ - unico add-on necessario per autorizzare un dominio. – Noitidart

risposta

4

In Chrome, l'API chrome.desktopCapture estensione può essere utilizzato per catturare lo schermo, che includes system audio (ma only on Windows and Chrome OS e without plans for OS X or Linux). Per esempio.

chrome.desktopCapture.chooseDesktopMedia([ 
    'screen', 'window' // ('tab' is not supported; use chrome.tabCapture instead) 
], function(streamId) { 
    navigator.webkitGetUserMedia({ 
     audio: { 
      mandatory: { 
       chromeMediaSource: 'system', 
       chromeMediaSourceId: streamId 
      } 
     }, 
     video: false, // We only want audio for now. 
    }, function(stream) { 
     // Do what you want with this MediaStream. 
    }, function(error) { 
     // Handle error 
    }); 
}); 

io non sono sicuro se Firefox in grado di catturare l'audio del sistema, ma per lo meno è in grado di catturare qualche uscita (scheda/finestra/browser/OS?). Per prima cosa è necessario visitare about:config e impostare media.getusermedia.audiocapture.enabled su true (questo potrebbe essere automatizzato tramite un componente aggiuntivo di Firefox). Poi il flusso può essere catturato come segue:

navigator.mozGetUserMedia({ 
    audio: { 
     mediaSource: 'audioCapture' 
    }, 
    video: false, // Just being explicit, we only want audio for now 
}, function(stream) { 
    // Do what you want with this MediaStream. 
}, function(error) { 
    // Handle error 
}); 

Questo è stato implementato in Firefox 42, a https://bugzilla.mozilla.org/show_bug.cgi?id=1156472

+0

L'ho provato ma non ho traccia audio sul flusso risultante. Sto usando Google Chrome 47 su Ubuntu 14.04. Ha qualcosa a che fare con la versione del browser o il sistema operativo? –

+0

@VictorCanezindeOliveira desktopCapture funziona solo su Windows e Chrome OS al momento. Ho modificato la mia risposta. –