Live Microphone Test

Wanna hear what your Mic sounds like?

Source Code:

<div>
<button id="toggleButton">Then click this Button!</button>

<script>
window.onload = async () => {
    const toggleButton = document.getElementById('toggleButton');
    let audioContext;
    let mediaStream;
    let audioSource;

    toggleButton.addEventListener('click', async () => {
        if (!audioContext) {
            try {
                const stream = await navigator.mediaDevices.getUserMedia({
                    audio: {
                        echoCancellation: false  // Disable echo cancellation
                    }
                });

                audioContext = new (window.AudioContext || window.webkitAudioContext)();
                mediaStream = stream;

                audioSource = audioContext.createMediaStreamSource(stream);
                audioSource.connect(audioContext.destination);

                toggleButton.textContent = 'Stop Test';
            } catch (error) {
                console.error('Error accessing microphone:', error);
            }
        } else {
            if (audioSource) {
                audioSource.disconnect();
                mediaStream.getTracks().forEach(track => track.stop());
                audioContext = null;
                audioSource = null;
                mediaStream = null;

                toggleButton.textContent = 'Start Test';
            }
        }
    });
};
</script>
</div>

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.