Recording With Mic Not Working

Godot Version

4.2

Question

Hi. I downloaded the demo from this recording with mic demo and I’m having trouble getting it to work. I can’t play my voice back, and if I try to save the recording to my computer I get:

E 0:00:23:0699 MicRecord.gd:57 @ _on_save_button_pressed(): Condition “file.is_null()” is true. Returning: ERR_FILE_CANT_WRITE

So it’s not recording me.

Input is on in project settings, I can’t find anything that would suggest my computer is blocking the input and not telling me, my mic is working fine, and my computer volume is not muted. My mic works fine with programs like OBS and Content Warning (which is a game). Has anyone got any idea for something else I could check that might be the issue here? Thanks in advance for any help.


godothelp2
godothelp3

This isn’t because of the microphone settings, it’s because you’re trying to write to somewhere you can’t, also you’re using a demo not updated for 4.2 so it probably doesn’t work for that reason

Hi. Thanks for your answer. Do you know what I’d have to change about the demo project to make it work? It doesn’t give me any compile errors, so I thought it would work fine in 4.2.

Alternatively, how do you tell what version the demo is in? All I see is that it’s not updated for 4.2, but I can’t find anywhere saying what update is updated for. I’d like to try the demo in the Godot version it’s intended for to see if I can get it to work there.

Thanks in advance for any help.

See the screenshot, the demo is for 3.x, see Upgrading from Godot 3 to Godot 4 — Godot Engine (4.2) documentation in English

When I try to open the demo in 3.5.3 or 3.5.2, I get the error message below. I redownloaded the demo again a second time to make sure and got the same message. I also asked someone on Discord about it and they said that the project.godot is for version 4.2.

Are you sure there’s nothing else that could be the solution?

Im having this exact same issue under Godot 4.2.2 and 4.3. I can record but the data is all zeros that come out. If I do AudioServer.get_bus_peak_volume_left_db on the recording bus he volume does go up and down so it is getting the input from the mic. If I dump the data I can I get

Format: 16-bit uncompressed
Mix rate: 48000 Hz
Stereo: Yes
Muted: No
Record enabled: Yes
Bypassing effects: No
Size: 561152 bytes

and the size varies by recording length. It just looks like somewhere along the way the data gets set to all zeros. Its the same when I look at it in the debugger or if I save the wav data to disk using recording.save_to_wav(save_path)

Anyone have any thoughts?