A modern, safe, and lightweight C++ wrapper around Windows' system media transport and volume control APIs.
Supports playback management, media metadata retrieval (title, artist, album, artwork), and system volume control — all via native WinRT and Core Audio interfaces.
MediaController media;float volume = media.GetVolume();media.set_volume(50.f);std::string title = media.GetTitle();
std::string artist = media.GetArtist();
std::string album = media.GetAlbumTitle();std::vector<uint8_t> art = media.GetAlbumArt(); std::string status = media.GetPlaybackStatus(); // "Playing", "Paused", "Stopped", "Changing".double position = media.GetPosition(); // seconds
double duration = media.GetDuration(); // seconds
std::string time = media.GetFormattedTime(); // MM:SS / MM:SS
media.play();media.pause();media.stop();media.next();media.previous();WinRT.
Required for accessing Windows Runtime APIs likeWindows.Media.ControlandWindows.Storage.Streams.
Core Audio API.
Includes headers likemmdeviceapi.handendpointvolume.hfor audio control.
Windows SDK.
Provides the necessary libraries and tools to build applications for Windows.
This project is licensed under the GNU General Public License.
See the LICENSE file for more details.
Windows Multi Media Controller