Using Shazam to pick up audio over internal soundcard / headphones
You can do this like so: 


Install Soundflower (from https://rogueamoeba.com/freebies/soundflower/)
Option-click the volume icon and change both the input and the output device to "Soundflower (2ch)"
Start the Soundflowerbed application that comes with Soundflower, then click its icon in the top right (of a flower) and choose "Built-in Output" from the list under "Soundflower (2ch)"


Now your system audio output (e.g. VLC) is going out on the Soundflower virtual audio cable and your system input (e.g. Shazam) is coming from the Soundflower virtual audio cable, so Shazam can listen to whatever you play on the Mac, but Soundflowerbed lets you also route that virtual audio cable out through the system audio output so you can hear it all the time!

This could have a slightly negative effect on CPU usage and latency, so you might not want to use this set up all the time if you aren't using Shazam - in this case, you just Option-click the volume icon and set the output (and input if required) back to "Built-in". It's really cool to have Shazam IDing tracks as you listen to a DJ mix/radio station, and it's (sometimes) impressively accurate!