本地开发
This commit is contained in:
@@ -28,18 +28,25 @@
|
||||
function SrsRtcPublisherAsync() {
|
||||
var self = {};
|
||||
|
||||
self.cameraIndex=0
|
||||
self.cameraIndex = 0
|
||||
|
||||
self.cameraDevices = []
|
||||
|
||||
self.url=""
|
||||
self.url = ""
|
||||
|
||||
self.turn = {
|
||||
iceServers: [{
|
||||
urls: 'turns:172.16.3.19:3478', 'credential': 'huashiai',
|
||||
'username': 'huashiai'
|
||||
}]
|
||||
};
|
||||
|
||||
// https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
|
||||
self.constraints = {
|
||||
audio: true,
|
||||
video: {
|
||||
deviceId:{
|
||||
exact:"136e115ef37b7ec8361207a61d42cd39818381aa0e99728e35eb9746bedce6b4"
|
||||
deviceId: {
|
||||
exact: "136e115ef37b7ec8361207a61d42cd39818381aa0e99728e35eb9746bedce6b4"
|
||||
},
|
||||
width: {ideal: 320, max: 576}
|
||||
}
|
||||
@@ -74,15 +81,15 @@ function SrsRtcPublisherAsync() {
|
||||
console.log('navigator.getUserMedia error: ', error);
|
||||
}
|
||||
|
||||
self.changeCamera = async function(){
|
||||
self.changeCamera = async function () {
|
||||
// console.log('navigator.getUserMedia')
|
||||
// console.log(self.cameraDevices)
|
||||
self.cameraIndex=self.cameraIndex+1==self.cameraDevices.length?0:self.cameraIndex+1
|
||||
let deviceId={
|
||||
exact:""
|
||||
self.cameraIndex = self.cameraIndex + 1 == self.cameraDevices.length ? 0 : self.cameraIndex + 1
|
||||
let deviceId = {
|
||||
exact: ""
|
||||
}
|
||||
deviceId.exact=self.cameraDevices[self.cameraIndex].deviceId
|
||||
self.constraints.video.deviceId=deviceId
|
||||
deviceId.exact = self.cameraDevices[self.cameraIndex].deviceId
|
||||
self.constraints.video.deviceId = deviceId
|
||||
|
||||
self.publish(self.url)
|
||||
|
||||
@@ -110,16 +117,15 @@ function SrsRtcPublisherAsync() {
|
||||
// or any other information, will pass-by in the query:
|
||||
// webrtc://r.ossrs.net/live/livestream?vhost=xxx
|
||||
// webrtc://r.ossrs.net/live/livestream?token=xxx
|
||||
self.publish = async function (url,constraints={}) {
|
||||
self.publish = async function (url, constraints = {}) {
|
||||
|
||||
self.url=url;
|
||||
self.url = url;
|
||||
|
||||
var conf = self.__internal.prepareUrl(url);
|
||||
self.pc.addTransceiver("audio", {direction: "sendonly"});
|
||||
self.pc.addTransceiver("video", {direction: "sendonly"});
|
||||
|
||||
|
||||
|
||||
var stream = await navigator.mediaDevices.getUserMedia(constraints);
|
||||
|
||||
// @see https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addStream#Migrating_to_addTrack
|
||||
@@ -319,7 +325,7 @@ function SrsRtcPublisherAsync() {
|
||||
}
|
||||
};
|
||||
|
||||
self.pc = new RTCPeerConnection(null);
|
||||
self.pc = new RTCPeerConnection(self.turn);
|
||||
|
||||
// To keep api consistent between player and publisher.
|
||||
// @see https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addStream#Migrating_to_addTrack
|
||||
|
||||
Reference in New Issue
Block a user