Scanners read barcodes by recognition of the contrast between light and dark areas of the symbol. Although black and white provide the safest contrast a combination of many other colors can be equally effective. As the laser beam is a shade of red, the contrast seen by the scanner is quite different to that seen by the human eye. It is this difference that has quite frequently led to symbols having insufficient contrast. A simple guide is to consider the warm colors of the spectrum (RED, ORANGE, YELLOW) as usually acceptable for background or light bars and the cold colors of the spectrum (GREEN, BLUE, INDIGO, VIOLET) as usually acceptable for the dark bars of the symbol.
A simple method is to put a small piece of red cellophane over your barcode to get an idea what the barcode reader will see.
Whatever colors are chosen, it is very important for manufacturers to discuss their bar coding requirements with their printing company. They will be able to advise on suitable colors as he has experience of inks and other factors which can affect print quality. In addition most printers have equipment capable of measuring the contrast which will indicate if it is within specification or not.