If the surface of the speakers are smooth, then a primer coat would be best. A primer coat will also help to fill small nicks or scratches if applicable. Of course, remove all hardware or mask well if not removeable. Take you time.

Not all primers are the same. A former painter friend of mine said that cheap primers are sometimes just cheap paint. Buy a good quality primer.

Apply the primer coat with a roller. Use light coats to avoid dripping.

The best finishes seem to come about from many layers of light coats. The top coat can be an aerosol spray with at least three to five light coats. The type of paint you use will also depend on the type of finish that you want to achieve.

I can not recommend a paint type or manufacturer as different areas have different products. The best bet is to talk to a paint specialist.

Most importantly, take your time. You would be surprised at how nice a finish you can achieve.