Listening for wave out in windows [closed] - c++

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
So I want to "listen" to the output to sound devices in windows. Preferably in C/C++. I have no idea what a proper starting point would be for this on windows and was wondering if I could get pointed in the right direction to capture sound. I would like to do this so that I can change different settings based on the sound that is playing. I am not looking to listen through a microphone

You need to work with Windows audio related COM-based interfaces. Starting point is to obtain a reference to the IMMDevice interface of an endpoint object in a device collection by calling the IMMDeviceCollection::Item method. Afterwards, it is possible to get a reference to the IMMEndpoint interface of an endpoint object by calling the IMMDevice::QueryInterface` method. After retrieving a collection of endpoint devices, it is possible to query the properties of the individual devices in the collection to determine their suitability for use.
This is one example and this is another

Related

How would I grab image data from display output of amd gpus? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 3 years ago.
Improve this question
I am attempting to create a personal PC streaming application on Windows. I was wondering how I could grab data from an AMD GPUs display output in C++ 11 (somewhat like OBS)? I attempted this in java with Robot.createScreenCapture method but was not able to achieve sufficient speeds required for streaming. I hope this is clear enough. Anything helps, thanks.
AMD AMF SDK can get you this: Is there a functionality to capture screen directly and encode at GPU buffer memory?
amf\public\src\components\DisplayCapture already has code which is basically wrapping DD API into AMF component. If my memory serves me right DVR sample shows how to use it (source code definitely has traces that it was/is working).

How to overlay Chromium/Electron browser hosts on DirectX and OpenGL applications? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I'm trying to display info from the Spotify API as a overlay for DirectX and OpenGL games as there is a lot of people asking for it and I needed a project for school. I've got all the design elements working in a Electron application and I now just need to make it an overlay.
The application has a couple states: Playing, Paused, Control (frees cursor to allow in game song control with a couple buttons), Connect(for when audio is played via Spotify connect rather then on the host pc) and Stopped.
If possible I would also like to have the control state toggle with a key bind.
I've had a look online and can't find anything helpful, but I do know that Discord uses something like this. From what I can see, they use C++.
Edit: pergy commented with this: electron offscreen rendering which seems good enough.

How to get computer device manager information as text result in cpp code? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 6 years ago.
Improve this question
How to get computer device manager information (in Windows (especially win 10)) as text result in cpp code?. In addition I don't want to use registry i my code.
You can get information of device manager using Windows Management Instrumentation(WMI) or by using Setup APIs. One example of Setup APIs for getting device manager information can be found in code project.

Uniquely identify external storage [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
Using C++ and the Win32 API, I have to uniquely identify an external HDD. That is, I have to retrieve some sort of ID number, which I can later use to see if the same HDD is connected to the computer.
Your best option would be to retrieve the HDD serial number. You could use WMI to retrieve this, here's a PowerShell command to do this:
Get-WmiObject Win32_PhysicalMedia | select SerialNumber
Note that the returned serial number may be returned in a mangled or encoded form.
A sample how to code this in C++ can be seen here. Basically you need to connect to the IWbemServices COM root\cimv2 namespace, study the documentation for details.

Fast Screen Transfer [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
What is the fastest way in C++ to share screens between computers, like in Skype or Google Plus? Currently I'm taking a screenshot, convert it to low-quality JPG with GDI+ and then send it too a remote computer, but although it works, it is not very fast (7 FPS via localhost).
I can't comment :(
But some things to think about.
Which operation(s) take the most time? I suspect this would be the capture due to the localhost xmission - but it really could be anything. Benchmark.
Does the sender "block" the next frame generation while waiting on the recipient display? If this is so then it might add in an implict bottleneck. The sender probably wants to keep sending frames unless the recipient requests a throttle.
If bandwidth is an issue, what about only sending partial or delta frames? Even though localhost shouldn't be a bandwidth issue, I am fairly certain that this is done in more advanced clients.
Consider looking at some [open source] VNC clients for how they work. It's not necessarily the same as "Skype", but it shound provide insight for a screen sharing program.