I’m trying to play the audio track that accompanies my video through the built-in speakers in my display. I’m using ciWMFVideoPlayer on msw10
I’ve tried changing the following lines:
//mTestVideo.loadMovie(videoPath, "Headphones (High Definition Audio Device)");
mTestVideo.loadMovie(videoPath, "HDMI (High-Definition Multimedia Interface)");
but to no avail… There’s no documentation RE the source URL so I took a shot in the dark. Anyone managed to get this to work?
ritesh
September 1, 2017, 9:03pm
2
Hi @Craigson , it should list out the available audio devices. See here . You can use that string as audio source. This needs to be cleaned up and made its own method or something.
xumo
September 1, 2017, 9:07pm
3
You can get the audio device names with ci::audio::Device::getOutputDevices()
. This has worked for me.
deviceName = "HDMI";
for (auto audioDevice : ci::audio::Device::getOutputDevices() ) {
ci::app::console() << "Output device " << audioDevice->getName() << std::endl;
std::size_t found = audioDevice->getName().find(deviceName);
if (found != std::string::npos) {
mAudioOutDevice = audioDevice->getName();
ci::app::console() << "MAtched device " << audioDevice->getName() << std::endl;
}
};
//and then
mMoviePlayer.loadMovie("thVideo.mp4", mAudioOutDevice);
But be aware that the devices name list might show the same device twice, one time as input and the other as output.
1 Like
Thanks that worked a treat. Never worked with the audio API before, should’ve known better and looked there first!j