2016-11-18 5 views
1

확장 창에서 오디오를 캡처하기 위해 chrome.desktopCapture.chooseDesktopMedia API를 사용하려고합니다.크롬 확장 프로그램 : chrome.desktopCapture.chooseDesktopMedia 캡처 윈도우 오디오를 만들 수 없습니다.

나는 popup.js 페이지에서 캡처 요청을 보내고 있습니다.

매니페스트 :

{ 
"background": { 
    "scripts": [ "background.js" ] 
}, 
"browser_action": { 
    "default_icon": "style/icons/icon16.png", 
    "default_title": "__MSG_name__" 
}, 
"default_locale": "en", 
"description": "__MSG_description__", 
"icons": { 
    "128": "style/icons/icon128.png" 
}, 
"manifest_version": 2, 
"name": "__MSG_extName__", 
"permissions": ["activeTab","desktopCapture"], 
"offline_enabled": true, 
"short_name": "__MSG_short__", 
"version": "1.0.9" 

}

기능 :

chrome.desktopCapture.chooseDesktopMedia(["window"], function (streamId) { 
     var audioStream = navigator.mediaDevices.getUserMedia({ 
      audio: true, 
      chromeMediaSource: 'desktop', 
      chromeMediaSourceId: streamId 
     }); 
     audioStream.then(function (mediaStream) {...} 

내가 다른 매개 변수를 사용하여 시도했다, 그러나 나는 생략 할 때마다 : audio:true를, 내가 얻을 :

'getU를 실행하지 못했습니다. serMedia 'on MediaDevices': 오디오 및 비디오 중 하나 이상을 요청해야합니다 (...).

다음 코드는 API에 나타나지 않습니다,하지만 난 그것을 여기에 대해 읽고 시도했다가, 이전 오류는 잘 적용 :

audio: { 
    mandatory: { 
     chromeMediaSource: 'desktop', 
     chromeMediaSourceId: streamId 
     } 
    } 

내가 audio:true를 사용 할 때 소스 창 선택 대화 상자가 표시 되더라도 마이크를 녹음합니다.

내가 뭘 잘못하고 있니?

+0

녹음 윈도우 오디오가 탭과 스크린에 대해서만 지원되는 것처럼 보이지 않습니다. 또한 캡처 유형 배열에 "오디오"를 전달해야합니다. –

+0

@DanielHerr "audio"매개 변수를 추가 한 후 "screen"매개 변수가 시스템 출력을 기록합니까? 또한 필수 매개 변수가 정확합니까? – Nim

+0

이 샘플의 출처를 확인하십시오. https://chrome.google.com/webstore/detail/gdamcnkmddbfhaadidkhahllkabienpk –

답변

1

코드를 조금 실험하고 나면 시스템 오디오를 캡처하는 유일한 방법은 비디오 매개 변수를 사용하는 것입니다. 오디오 매개 변수를 사용하여 마이크가 아닌 오디오를 캡처 할 수 없었습니다. screen recorder 앱에서도 동일한 작업을하고 있습니다. 시스템 오디오는 비디오를 통해 녹화됩니다.

+0

오디오 전용 캡처에 문제가있는 것 같습니다 : https://bugs.chromium.org/p/chromium/issues/detail?id=769388 – kzahel