allow me to say that I AM AN EXPERT ON THIS SUBJECT because I have tried it all (except the shock collar--I couldn't bring myself to that). My little Edith Jones is a little girl with a lot to say, and she barks all the time. I take her to my office, so bark control is very important.
We tried the citronella collar. It does work, but mine stopped working for some reason. Edie hated that thing.
The BEST thing I have is the "BARKER BREAKER". It is just a small box that I keep on my desk, and anytime she barks, I push the button for a split second. It emits a high pitched tone that Edie hates. She shuts up right away. And she stays quiet. You just need to push the button soon after the bark. You can also get the barker breaker that senses the bark and goes off automatically.
throwing stuff like bottles with noise makers inside did nothing to Edie. I recommend the "Barker Breaker" . THey are cheap too (less than $30).

The citronella collar was $100 plus the cost of citonella, batteries, I spent $130!!!
Let me know how it works.
Oh--I only use the Barker breaker at work. Edie barks to her hearts content at home--I think she has a cute bark.