Comments (2)
I found:
pc.onaddstream = function (evt) {
nextRTC.call('remoteStream', {
member: member,
stream: evt.stream
});
};
And I make this:
pc.onaddstream = function (evt) {
if ($('#id0').val() != $('#id1').val()) {
nextRTC.call('remoteStream', {
member: member,
stream: evt.stream
});
}
};
id0 -- id of user, who makes the stream
id1 -- id of joined user
At this case, when a people will join to me, My stream isn't to be finalize (I have one element of video).
But I still have questions. I.e. How I can to allow people join to me, without confirm of active video/audio devices.
from nextrtc-example-videochat.
So, what I did:
At webcam.js (common settings of nextrtc)
I set var isMainStream of previous message, conditional (id0 == id1)
Then, I set video/audio at this:
video : isMainStream
audio : isMainStream
At nextRTC.js
I change join function, removing connecting with stream:
NextRTC.prototype.join = function join(convId, custom) {
var nextRTC = this;
nextRTC.request('join', null, convId, custom);
};
At answerResponse:
if (!isMainStream) {
pc['pc'].addStream(nextRTC.localStream);
}
At offerResponse:
if (isMainStream) {
pc['pc'].addStream(nextRTC.localStream);
}
At preparePeerConnection:
pc.onaddstream = function (evt) {
if (isMainStream) {
nextRTC.call('remoteStream', {
member: member,
stream: evt.stream
});
}
};
And in additional, when I choose devices, webcam.js:
if (isMainStream) {
var audioInputSelect = $('#microphones')[0];
var videoSelect = $('#webcams')[0];
var selectors = [audioInputSelect, videoSelect];
function gotDevices(deviceInfos) {
var values = selectors.map(function (select) {
return select.value;
});
selectors.forEach(function (select) {
while (select.firstChild) {
select.removeChild(select.firstChild);
}
});
for (var i = 0; i !== deviceInfos.length; ++i) {
var deviceInfo = deviceInfos[i];
var option = document.createElement('option');
option.value = deviceInfo.deviceId;
if (deviceInfo.kind === 'audioinput') {
option.text = deviceInfo.label ||
'microphone ' + (audioInputSelect.length + 1);
audioInputSelect.appendChild(option);
} else if (deviceInfo.kind === 'videoinput') {
option.text = deviceInfo.label || 'camera ' + (videoSelect.length + 1);
videoSelect.appendChild(option);
}
}
selectors.forEach(function (select, selectorIndex) {
if (Array.prototype.slice.call(select.childNodes).some(function (n) {
return n.value === values[selectorIndex];
})) {
select.value = values[selectorIndex];
}
});
}
function start() {
if (nextRTC.localStream != null) {
nextRTC.localStream.getTracks().forEach(function (track) {
track.stop();
});
}
var audioSource = audioInputSelect.value;
var videoSource = videoSelect.value;
nextRTC.mediaConfig = {
audio: {deviceId: audioSource ? {exact: audioSource} : undefined},
video: {deviceId: videoSource ? {exact: videoSource} : undefined}
};
if (settingON) {
if ($('.online').css('display') == 'none') {
$('.cam-opt').click(active(true));
} else {
active(true);
}
}
navigator.mediaDevices.enumerateDevices().then(gotDevices);
}
audioInputSelect.onchange = start;
videoSelect.onchange = start;
start();
}
After these changes, when I try to join another person, I get only the video stream, and nothing more.
from nextrtc-example-videochat.
Related Issues (20)
- Js path is not correct and connection refuse error HOT 16
- Voice echo HOT 4
- IOException when closing the browser tab HOT 1
- How can I know there are the id rooms? HOT 6
- Audio devices
- When I joined the live streams, the main stream is closed
- not correct dependency HOT 1
- HTTP
- slightly out of date HOT 2
- ios client
- RC5 version does NOT exist in maven repository HOT 8
- RC6 doesn't exist on maven repository yet. HOT 1
- join again to same room after leave the room HOT 3
- video number is Incorrect HOT 1
- Protocol between Client & Server HOT 2
- Examples http://examples.nextrtc.org/videochat/ is not working HOT 2
- There's an issue in connection between FF and Chrome
- How to present Web3D data file under nextrtc envionment?
- programmatically leave a conversation HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nextrtc-example-videochat.