mediasfu-reactnative
Version:
MediaSFU Prebuilt React Native SDK
37 lines • 1.43 kB
JavaScript
/**
* Switches the audio input device based on user preference.
*
* @param {SwitchAudioOptions} options - The function parameters.
* @returns {Promise<void>}
*
* @example
* ```typescript
* switchAudio({
* audioPreference: "newAudioDeviceID",
* parameters: {
* defAudioID: "defaultAudioDeviceID",
* userDefaultAudioInputDevice: "currentAudioDeviceID",
* prevAudioInputDevice: "previousAudioDeviceID",
* updateUserDefaultAudioInputDevice: (deviceId) => setUserDefaultAudio(deviceId),
* updatePrevAudioInputDevice: (deviceId) => setPrevAudioDevice(deviceId),
* switchUserAudio: switchUserAudioFunction,
* getUpdatedAllParams: getUpdatedParamsFunction
* }
* });
* ```
*/
export const switchAudio = async ({ audioPreference, parameters }) => {
let { defAudioID, userDefaultAudioInputDevice, prevAudioInputDevice, updateUserDefaultAudioInputDevice, updatePrevAudioInputDevice,
// mediasfu functions
switchUserAudio, } = parameters;
if (audioPreference !== defAudioID) {
prevAudioInputDevice = userDefaultAudioInputDevice;
updatePrevAudioInputDevice(prevAudioInputDevice);
userDefaultAudioInputDevice = audioPreference;
updateUserDefaultAudioInputDevice(userDefaultAudioInputDevice);
if (defAudioID) {
await switchUserAudio({ audioPreference, parameters });
}
}
};
//# sourceMappingURL=switchAudio.js.map