簡體   English   中英

Chrome擴展程序捕獲選項卡音頻

[英]Chrome Extension Capture Tab Audio

我正在嘗試創建一個Chrome擴展程序,該擴展程序可以捕獲活動選項卡中的音頻並將其發送到另一台服務器,或者使其可以通過URL進行訪問。

我正在使用chrome.tabCapture.capture API ,可以成功獲取選項卡音頻的MediaStream ,但是在此之后我不知道該怎么辦。

Chrome文檔與MediaStreams無關,因此我在這里瀏覽了一些文檔並與JS調試器一起使用,以查看可用的方法,但找不到將MediaStream發送到某處的方法。

現在可以使用MediaRecorder在JS中本地記錄流。 有一個演示在這里和W3C規范是這里

演示中的startRecording方法要求將window.stream設置為MediaStream實例。

// The nested try blocks will be simplified when Chrome 47 moves to 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 to create MediaRecorder with options Object: ', e0);
    try {
      options = {mimeType: 'video/webm,codecs=vp9', bitsPerSecond: 100000};
      mediaRecorder = new MediaRecorder(window.stream, options);
    } catch (e1) {
      console.log('Unable to create MediaRecorder with options Object: ', e1);
      try {
        options = 'video/vp8'; // Chrome 47
        mediaRecorder = new MediaRecorder(window.stream, options);
      } catch (e2) {
        alert('MediaRecorder is not supported by this browser.\n\n' +
            'Try Firefox 29 or later, or Chrome 47 or later, with Enable experimental Web Platform features enabled from chrome://flags.');
        console.error('Exception while creating MediaRecorder:', e2);
        return;
      }
    }
  }
  console.log('Created MediaRecorder', mediaRecorder, 'with options', options);

  // do UI cleanup here
  mediaRecorder.onstop = function() {/** stop */};
  mediaRecorder.ondataavailable = function() {/** data avail */};
  mediaRecorder.start(10); // collect 10ms of data
  console.log('MediaRecorder started', mediaRecorder);
}
  1. https://www.w3.org/TR/mediastream-recording/
  2. https://simpl.info/mediarecorder/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM