2014-11-23 4 views
-1

Я работаю над веб-приложением, которое захватывает экран пользователя и отправляет экран другому пользователю. До сих пор я отлично работаю с настольным захватом, и для этого я использовал peer.js. Теперь я хотел бы добавить звук от микрофона пользователей к потоку. Поэтому я подумал, что было бы просто установить звуковую переменную в true в вызове getUserMedia, но это просто оставляет меня с ошибкой. Есть идеи?Desktop Capture with Audio

function startScreenStreamFrom(streamId) { 
navigator.webkitGetUserMedia({ 
    audio: true, 
    video: { 
     mandatory: { 
     chromeMediaSource: 'desktop', 
     chromeMediaSourceId: streamId, 
     maxWidth: window.screen.width, 
     maxHeight: window.screen.height 
       } 
     } 
}, 

function(screenStream) { 
    stream = screenStream; 
    videoElement.src = URL.createObjectURL(screenStream); 
    videoElement.play(); 
    videoplaying = true; 
    broadcaststarted = true; 
}, 

function(error) { 
    console.log('getUserMedia failed!: ' + error); 
}); 
} 

Это приводит к ошибке пользовательского носителя.

+0

У вас есть микрофон, подключенный правильно, и webrtc имеет к нему доступ? –

+0

Да, есть микрофон, но как узнать, может ли webrtc получить к нему доступ? – bigC5012

+0

Вы можете просто запросить только микрофон и посмотреть, можете ли вы получить поток. –

ответ

0

По какой-то причине вы не можете совместно использовать экран и звук одновременно. Одним из способов решения этой проблемы было бы иметь два отдельных потока и загружать видеопоток в видеоэлементе и аудио в отдельном аудиоэлементе. Или, если хотите, вы можете загрузить их как на элемент видео.

+0

Привет, Коллин, вы можете поделиться решением или шагами/настройками для навигации. GetUserMedia? Я знаю, что прошло уже больше года, но я могу определенно попробовать ваше решение. – user2801184