Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change InputDevice during call #357

Open
curtishollawayTSI opened this issue Mar 7, 2020 · 9 comments
Open

Change InputDevice during call #357

curtishollawayTSI opened this issue Mar 7, 2020 · 9 comments

Comments

@curtishollawayTSI
Copy link

We have a need to allow our users to transition a call from their headset to a usb speaker/microphone for speaker calls. The user can change the output device during the call, but not the input device. We programmatically change these and it has the same effect (the input device does not change until the call hangs up).

Is there a way to transition the input device on an active call from one to the other?

@embbnux
Copy link
Collaborator

embbnux commented Mar 10, 2020

Hi @curtishollawayTSI , It is not supported now. We bind the WebRTC stream to input device when call is created, and can't change during call.

@embbnux
Copy link
Collaborator

embbnux commented Mar 17, 2020

wait for ringcentral/ringcentral-web-phone#275

@curtishollawayTSI
Copy link
Author

Thank you

@JSGund
Copy link

JSGund commented Jul 17, 2020

@curtishollawayTSI Can you please help me out to get the list of media devices(input devices like headset or wireless) and set for the voice call?

@embbnux
Copy link
Collaborator

embbnux commented Jul 17, 2020

@JSGund You can get media devices by calling navigator.mediaDevices.enumerateDevices(), or phone.audioSettings.availableInputDevices if you can access this app's window scope.

For set device, you can call phone.audioSettings.setData({ inputDeviceId: your_device_id }).

@JSGund
Copy link

JSGund commented Jul 17, 2020

@embbnux here 'phone.audioSettings.availableInputDevices' - phone means WebPhone instance right?

@embbnux
Copy link
Collaborator

embbnux commented Jul 17, 2020

@embbnux here 'phone.audioSettings.availableInputDevices' - phone means WebPhone instance right?

Not, phone is global variable in app.html. It is used for state management and business logics.
For web phone instance, you can get it by phone.webphone._webphone

@JSGund
Copy link

JSGund commented Jul 17, 2020

In _webphone instance there are not any audioSettings method available to set this setData({ inputDeviceId: your_device_id }). Is it possible set the setData({ inputDeviceId: your_device_id }) using _webPhone instance? Let me know how to resolve this?
Thanks

@embbnux
Copy link
Collaborator

embbnux commented Jul 19, 2020

In _webphone instance there are not any audioSettings method available to set this setData({ inputDeviceId: your_device_id }). Is it possible set the setData({ inputDeviceId: your_device_id }) using _webPhone instance? Let me know how to resolve this?
Thanks

audioSettings isn't in _webphone instance, it is in phone global variable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants