2016-04-27 1 views
2

Я использую API-интерфейс tabCapture Chrome (см. https://developer.chrome.com/extensions/tabCapture) для захвата аудиопотока с активной вкладки в Chrome. Это создает MediaStream объект (см https://developer.mozilla.org/en-US/docs/Web/API/Media_Streams_API) заполняется данными, например, я могу вытащить эту информацию из консоли Chrome:Как преобразовать поток аудио WebRTC в URL-адрес совместного использования аудиопотоков?

MediaStream {id: "qih5TZY7OTyNnydtEQ4IwK3FSFiaYhz54TeG", active: true, onactive: null, oninactive: null, onaddtrack: null…} 
active: true 
id: "qih5TZY7OTyNnydtEQ4IwK3FSFiaYhz54TeG" 
onactive: null 
onaddtrack: null 
onended: function() 
oninactive: null 
onremovetrack: null 
__proto__: MediaStream 

Как я могу управлять этим MediaStream в аудио URL потоковой передачи, которые я могу передать в другое приложение/браузер для настройки, подобно потоковой радиосервисе?

Могу ли я использовать что-то вроде URL.createObjectUrl (my-media-stream)?

См https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL

мне нужно преобразовать в использование WebSocket вместо WebRTC ли?

Могу ли я использовать Socket.io?

Спасибо!

ответ

1

A stream - локальный ресурс здесь. createObjectURL - это просто хак, чтобы ссылаться на него по URL локально.

Если вы хотите перенести эти данные на сервер, где он может быть поставлен за постоянным URL для трансляции, то у вас есть работа.

Обновление: Если вы хотите отправить поток на другой компьютер, вы можете установить RTCPeerConnection на другой компьютер и отправить поток таким образом.

+0

Хорошо, спасибо. Возможно, локальный URL-адрес будет достаточно хорошим, так как я просто хочу передать поток в локальной сети. (Глобальный URL-адрес является хорошим, но я соглашусь на локальный пока). Так что, используя createObjectUrl, я позволю мне сделать локальный URL-адрес хотя бы? Я буду исследовать. – nyarasha

+0

@nyarasha нет, я имею в виду локальный к машине. Чтобы отправить поток на другой компьютер, вы можете установить RTCPeerConnection. – jib

+0

Правильно, это если подключающее устройство имеет браузер, который может использовать WebRTC. В этом случае я хочу отправить поток на устройство, у которого нет веб-браузера. Спасибо хоть. – nyarasha