Fix pointer to callback bug, support volume