Hi,
On my HTC M8 when I set it to vibrate, all speaker sounds are muted, when I plug in headphones, and listen to music, when I get a call, the ringtone will play through my headphones. Which is how I want it. I can press the center button (on iOS mic/remotes to accept the call).
On S7 Edge...