rewrite dtplayer with bind&function