rdp / virtual-audio-capture-grabber-device

free audio capture device to capture all the "wave out sound" that is playing on your speakers (i.e. record what you hear) for Windows Vista+. Releases downloadable in this package:
https://github.com/rdp/screen-capture-recorder-to-video-windows-free
Other
578 stars 181 forks source link

Virtual audio capture doesn't work with Microsoft Expression SDK #16

Open tomason16 opened 8 years ago

tomason16 commented 8 years ago

Hi,

First, I would like to thank you for this development, it's great! I'm trying to record by using the virtual audio capture device as the audio device in Microsoft expression SDK.

The code: var audioDevices = EncoderDevices.FindDevices(EncoderDeviceType.Audio); for (var deviceCount = 0; deviceCount < audioDevices.Count; deviceCount++) { try { if (audioDevices[deviceCount].Name == "virtual-audio-capturer") { _job.AddAudioDeviceSource(audioDevices[deviceCount]); } } catch (Exception) { } }

_job is actually a ScreenCaptureJob which is documented by Microsoft.

All other audio devices can be added by that method. Only when adding the virtual audio capture device, it throws an error - {"Fail to set device to audio device source."} System.Exception {Microsoft.Expression.Encoder.ArgumentErrorException}

When using ffmpeg to try and record audio from the virtual device, it doesn't report any issues, so therefore it seems that it's installed properly (i just registered the relevant dll).

Microsoft expression SDK seems to actually recognise it, as it's in the list of devices, but throws the error above.

Please assist.

Thank you!

rdp commented 8 years ago

I wonder if it's rejecting its format type, what does the output of ffmpeg -f dshow -show_options 1 -i audio=virtual-audio-capturer give?

On Mon, Sep 21, 2015 at 11:37 AM, tomason16 notifications@github.com wrote:

Hi,

First, I would like to thank you for this development, it's great! I'm trying to record by using the virtual audio capture device as the audio device in Microsoft expression SDK.

The code: var audioDevices = EncoderDevices.FindDevices(EncoderDeviceType.Audio); for (var deviceCount = 0; deviceCount < audioDevices.Count; deviceCount++) { try { if (audioDevices[deviceCount].Name == "virtual-audio-capturer") { _job.AddAudioDeviceSource(audioDevices[deviceCount]); } } catch (Exception) { } }

_job is actually a ScreenCaptureJob which is documented by Microsoft.

All other audio devices can be added by that method. Only when adding the virtual audio capture device, it throws an error - {"Fail to set device to audio device source."} System.Exception {Microsoft.Expression.Encoder.ArgumentErrorException}

When using ffmpeg to try and record audio from the virtual device, it doesn't report any issues, so therefore it seems that it's installed properly (i just registered the relevant dll).

Microsoft expression SDK seems to actually recognise it, as it's in the list of devices, but throws the error above.

Please assist.

Thank you!

— Reply to this email directly or view it on GitHub https://github.com/rdp/virtual-audio-capture-grabber-device/issues/16.

tomason16 commented 8 years ago

Thank you for the quick reply. It throws this error: Unrecognized option 'show_options'. Error splitting the argument list: Option not found

rdp commented 8 years ago

oops try list_options instead of show_options

tomason16 commented 8 years ago

The output of the command is: ffmpeg version N-53033-g56ba331 Copyright (c) 2000-2013 the FFmpeg developers built on May 13 2013 22:18:29 with gcc 4.7.3 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig -- tls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedi able-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enab --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 31.100 / 52. 31.100 libavcodec 55. 9.100 / 55. 9.100 libavformat 55. 7.100 / 55. 7.100 libavdevice 55. 0.100 / 55. 0.100 libavfilter 3. 65.100 / 3. 65.100 libswscale 2. 3.100 / 2. 3.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 [dshow @ 0036a760] DirectShow audio device options [dshow @ 0036a760] Pin "Capture Pin" [dshow @ 0036a760] min ch=2 bits=16 rate= 44100 max ch=2 bits=16 rate= 44100

rdp commented 8 years ago

dang I was hoping it would be something besides 44100. Unfortunately I'm not sure...I think I've had it with with flash media live encoder before [?] so it worked there but not this microsoft thing? weird.

On Wed, Sep 23, 2015 at 12:49 PM, tomason16 notifications@github.com wrote:

The output of the command is: ffmpeg version N-53033-g56ba331 Copyright (c) 2000-2013 the FFmpeg developers built on May 13 2013 22:18:29 with gcc 4.7.3 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig -- tls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedi able-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enab --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 31.100 / 52. 31.100 libavcodec 55. 9.100 / 55. 9.100 libavformat 55. 7.100 / 55. 7.100 libavdevice 55. 0.100 / 55. 0.100 libavfilter 3. 65.100 / 3. 65.100 libswscale 2. 3.100 / 2. 3.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 [dshow @ 0036a760] DirectShow audio device options [dshow @ 0036a760] Pin "Capture Pin" [dshow @ 0036a760] min ch=2 bits=16 rate= 44100 max ch=2 bits=16 rate= 44100

— Reply to this email directly or view it on GitHub https://github.com/rdp/virtual-audio-capture-grabber-device/issues/16#issuecomment-142694698 .

tomason16 commented 8 years ago

Yes. Thank you. If you'll have any idea on how to debug this or get any more idea regarding the issue please let me know. Many thanks!