I know this is off-topic, but it has been a frustration of mine since I reinstalled Windows and I just resolved it. I reinstalled Windows only to find out that Steam and Team Fortress 2 did not like my Soundblaster X-Fi Platinum and my mic set as Line 2 instead of microphone. Initially I set voice_forcemicrecord to 0 in team fortress 2\tf\cfg\config.cfg instead of 1 so it didn’t default to the Windows sound device of microphone, but the game still wouldn’t accept my in-game voice chat. I could use Ventrilo just fine, but Steam and Team Fortress 2 would say “nay nay!” to me using Line 2 as the microphone input.
It turns out that it was a simple Windows Vista configuration error of not having Line 2 set as the default. It appears that Steam/Team Fortress uses whatever Windows has set as the default recording device, and in my case it wasn’t set to anything. I would click on “test microphone” and it would immediately turn on and then off without actually testing it. As soon as I opened “Recording Devices” and chose Line 2 and clicked on “Set as Default” in-game voice chat started working. Hopefully this post will help someone out. Also, if anyone knows what you may install that would suddenly cause hl2.exe to crash constantly (regardless of being Team Fortress 2 or Counter Strike:Source) I would appreciate it. I ended up just reinstalling Windows Vista and I’m sure there was a much easier method to fixing the issue. Recently I had installed AIM, and the newest Creative Soundblaster X-FI drivers from October.