Korzystając z poniższego, możemy poprosić użytkownika o wybranie preferowanego urządzenia wejściowego z ograniczeniami źródeł dźwięku i obrazu (obecnie tylko obsługa przeglądarki Chrome).Sprawdź, czy wybrany mikrofon nie jest wyciszony za pomocą api web api
navigator.mediaDevices.getUserMedia({audio: true})
.then((stream) => {
console.log(stream);
});
Ktoś wie, czy nie ma odsłoniętej API wykryć, czy urządzenie wejściowe użytkownika jest aktualnie wybrany wyciszony, czy nie? Urządzeniem wejściowym może być mikrofon wbudowany, mikrofon zewnętrzny lub mikrofon programowy, który jest wyświetlany w systemie jako urządzenie sprzętowe.
Wygląda na to, że nie odzwierciedla rzeczywistego stanu wyciszenia mikrofonu w Chrome 57 (Windows 10), nawet po wybraniu określonego mikrofonu innego niż "Uszkodzony" przez "deviceId". –
@ChrisHunt Można również ustawić właściwość 'volume' dla' ograniczeń '. Zobacz [Możliwości, ograniczenia i ustawienia] (https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack/applyConstraints). Jak wyciszyć mikrofon? Czy możesz opisać, jak powielić sprawę? Czy dołączasz zdarzenia 'onmute',' onunmute' do 'MediaStreamTrack'? – guest271314
Najpierw znajdź włączony mikrofon w menu kontekstowym Taca> Dźwięk> Urządzenia do nagrywania> Dźwięk. Użyj 'navigator.mediaDevices.enumerateDevices()', aby zidentyfikować 'deviceId' dla urządzenia z tą samą etykietą. Użyj 'navigator.mediaDevices.getUserMedia ({audio: {deviceId: '...'}})), aby wybrać urządzenie. Zweryfikuj "track = stream.getTracks() [0]" pasuje do urządzenia i sprawdź 'track.mute'. Wycisz mikrofon za pomocą zakładki "Poziomy" dla określonego urządzenia w oknie "Urządzenia rejestrujące". Sprawdź 'track.mute' i zobacz, że się nie zmieniło. –