TomGeorge:
You are trying to low side switch an active component.
You should be HIGH SIDE switching.
Can't do that.
TX, RX is TTL logic (normally HIGH).
Switching VCC high-side would most likely phantom-power the player through the serial pins.
Don't know this module, but the datasheet mentions a sleep mode.
Can't you use that, instead of trying to cut the power.
I see this command in the example code.
myDFPlayer.outputDevice(DFPLAYER_DEVICE_SLEEP);
Leo..