I took my girls for some training when they were young, and the way we stopped any bad behavior (like barking) was: we each bought a piece of heavy chain, about a foot long, and hold it in our hand so they can't see it. Then, when they start barking, throw it on the ground, at the same time say "no"! Don't let them see it, and pick it up right away. The noise scares them and they immediately stop. I only had to do it a few times, and now I just say, "do you want the chain", and then she stops, and does the low growling, throaty thing. It's too cute! But when I'm out, I can just clap my hands loudly and say no and she stops!