3

I want to capture all audio that is played to the user (all sounds together). Currently I'm working on Windows but it would be nice if the code was cross-platform (but not necessarily). Is it possible to do it with OpenAL? How? Code examples would be great.

Language: C++

Pijusn
  • 11,025
  • 7
  • 57
  • 76
  • You can connect a virtual cable from your speakers to the microphone and then simply record it from any sound editing tool. For the cable, see for example: vb-audio.pagesperso-orange.fr/Cable/index.htm – Jindra Helcl Jan 09 '15 at 12:03

2 Answers2

3

The only way to do this I believe is to create a replacement audio device driver that receives all audio requests, and then forwards them to the original device driver. There are a number of existing applications that work in this way including Freecorder, MP3myMP3 Recorder, SoundTap and Wondershare to name but a few (Google "Streaming Audio Recorder").

As for cross-platform, I would say not a chance since it is OS driver model dependent.

Clifford
  • 88,407
  • 13
  • 85
  • 165
  • With my Realtek HD onboard sound, I can directly record anything that comes out of the speakers using the standard Windows audiorecorder tool. Not sure whether you need something special for that (I don't remember ever doing anything "special"). – Damon Jul 08 '11 at 13:52
  • I just started SoundRecorder in Win7, and it said "no recording device found", I have RealTek HD too, the control panel lists recording sources as "Front Mic", "Microphone", and "Line In", all shows as "not plugged in", hence the "no devices", there is no speaker-tap source to record from, so in this set up at least it cannot be done. YMMV – Clifford Jul 08 '11 at 19:32
0

Depending on what you have in your system, some (not all) sound cards offer a "Stereo Mix" feature, which can be used like any other recording device. This is basically exactly what you want, as it is literally a mix of all stereo sounds being played.

Drew McGowen
  • 11,471
  • 1
  • 31
  • 57