fix: resolve selected Windows microphone
This commit is contained in:
@@ -102,6 +102,7 @@ export function LaunchWindow() {
|
||||
setMicrophoneEnabled,
|
||||
microphoneDeviceId,
|
||||
setMicrophoneDeviceId,
|
||||
setMicrophoneDeviceName,
|
||||
systemAudioEnabled,
|
||||
setSystemAudioEnabled,
|
||||
webcamEnabled,
|
||||
@@ -169,8 +170,9 @@ export function LaunchWindow() {
|
||||
useEffect(() => {
|
||||
if (selectedMicId && selectedMicId !== "default") {
|
||||
setMicrophoneDeviceId(selectedMicId);
|
||||
setMicrophoneDeviceName(micDevices.find((d) => d.deviceId === selectedMicId)?.label);
|
||||
}
|
||||
}, [selectedMicId, setMicrophoneDeviceId]);
|
||||
}, [selectedMicId, micDevices, setMicrophoneDeviceId, setMicrophoneDeviceName]);
|
||||
|
||||
useEffect(() => {
|
||||
if (selectedCameraId) {
|
||||
@@ -403,8 +405,10 @@ export function LaunchWindow() {
|
||||
<select
|
||||
value={microphoneDeviceId || selectedMicId}
|
||||
onChange={(e) => {
|
||||
const selectedDevice = micDevices.find((d) => d.deviceId === e.target.value);
|
||||
setSelectedMicId(e.target.value);
|
||||
setMicrophoneDeviceId(e.target.value);
|
||||
setMicrophoneDeviceName(selectedDevice?.label);
|
||||
}}
|
||||
className={`w-full appearance-none bg-white/5 text-white text-[11px] rounded-lg pl-2 pr-6 py-1 border border-white/10 outline-none hover:bg-white/10 transition-colors cursor-pointer ${!micExpanded ? "sr-only" : ""}`}
|
||||
>
|
||||
|
||||
@@ -53,6 +53,8 @@ type UseScreenRecorderReturn = {
|
||||
setMicrophoneEnabled: (enabled: boolean) => void;
|
||||
microphoneDeviceId: string | undefined;
|
||||
setMicrophoneDeviceId: (deviceId: string | undefined) => void;
|
||||
microphoneDeviceName: string | undefined;
|
||||
setMicrophoneDeviceName: (deviceName: string | undefined) => void;
|
||||
webcamDeviceId: string | undefined;
|
||||
setWebcamDeviceId: (deviceId: string | undefined) => void;
|
||||
webcamDeviceName: string | undefined;
|
||||
@@ -102,6 +104,7 @@ export function useScreenRecorder(): UseScreenRecorderReturn {
|
||||
const [elapsedSeconds, setElapsedSeconds] = useState(0);
|
||||
const [microphoneEnabled, setMicrophoneEnabled] = useState(false);
|
||||
const [microphoneDeviceId, setMicrophoneDeviceId] = useState<string | undefined>(undefined);
|
||||
const [microphoneDeviceName, setMicrophoneDeviceName] = useState<string | undefined>(undefined);
|
||||
const [webcamDeviceId, setWebcamDeviceId] = useState<string | undefined>(undefined);
|
||||
const [webcamDeviceName, setWebcamDeviceName] = useState<string | undefined>(undefined);
|
||||
const [systemAudioEnabled, setSystemAudioEnabled] = useState(false);
|
||||
@@ -617,6 +620,7 @@ export function useScreenRecorder(): UseScreenRecorderReturn {
|
||||
microphone: {
|
||||
enabled: microphoneEnabled,
|
||||
deviceId: microphoneDeviceId,
|
||||
deviceName: microphoneDeviceName,
|
||||
gain: MIC_GAIN_BOOST,
|
||||
},
|
||||
},
|
||||
@@ -1125,6 +1129,8 @@ export function useScreenRecorder(): UseScreenRecorderReturn {
|
||||
setMicrophoneEnabled,
|
||||
microphoneDeviceId,
|
||||
setMicrophoneDeviceId,
|
||||
microphoneDeviceName,
|
||||
setMicrophoneDeviceName,
|
||||
webcamDeviceId,
|
||||
setWebcamDeviceId,
|
||||
webcamDeviceName,
|
||||
|
||||
@@ -20,6 +20,7 @@ export type NativeWindowsRecordingRequest = {
|
||||
microphone: {
|
||||
enabled: boolean;
|
||||
deviceId?: string;
|
||||
deviceName?: string;
|
||||
gain: number;
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user