1 well obviously you need to know exact maximum of position. then your _width could be 200 * position / max_position.
2 getBytesLoaded is bytes loaded not time. you could be downloading bytes faster than sound plays.