import React from 'react';
import { useMediaDevices } from '@dailyjs/shared/contexts/MediaDeviceProvider';
import { Field } from '../Field';
import { SelectInput } from '../Input';
export const DeviceSelect = () => {
const {
cams,
mics,
speakers,
currentDevices,
setCamDevice,
setMicDevice,
setSpeakersDevice,
} = useMediaDevices();
if (!currentDevices) {
return
Loading devices...
;
}
return (
<>
setCamDevice(cams[e.target.value])}
value={cams.findIndex(
(i) => i.deviceId === currentDevices.camera.deviceId
)}
>
{cams.map(({ deviceId, label }, i) => (
))}
setMicDevice(mics[e.target.value])}
value={mics.findIndex(
(i) => i.deviceId === currentDevices.mic.deviceId
)}
>
{mics.map(({ deviceId, label }, i) => (
))}
{/**
* Note: Safari does not support selection audio output devices
*/}
{speakers.length > 0 && (
setSpeakersDevice(speakers[e.target.value])}
value={speakers.findIndex(
(i) => i.deviceId === currentDevices.speaker.deviceId
)}
>
{speakers.map(({ deviceId, label }, i) => (
))}
)}
>
);
};
export default DeviceSelect;