I charge it with a basic 12 volt trickle charger. The battery is a 12 volt sealed lead acid battery. Battery life depends on how loud you play it. It draws 1 amp at full volume, so at full volume with a 12 volt 12 aH battery it should theoretically play for 12 hours. At lower volume settings you will highly extend the battery life.
The only time we run it at full volume is going through a rapid, on flat water we keep it just loud enough to hear on our boat only, which is maybe 1/4-1/3 volume. We use it for 3 straight days on the boat and in camp (probably 18-19 hours of play) and I have yet to ever drain the battery completely. You could easily charge it with a 12 volt solar pad on longer trips or just bring a second battery. At moderate volumes I would guess you can get 22-24 hours of continuous play without needing a charge.