it's actually quite simple. You just need two objects, a background bar, with a static width, and a progress bar, displayed on top of it, which width varies between 0 and the background bar width.
You just need to update the progress bar width on every tick, by a simple ratio calculation. the background width represents the total sample duration, so you just need to set the progress bar width like this:
backgroundBar.Width*Audio.PlaybackTime(tag)/Duration(tag)
where tag corespond to the one you gave to the sample you're playing.
Then for a seek function when you click the progress/background bar, it's the reverse ratio, you must convert an X position on your background to a position in the sample duration.
Audio Seek to (Mouse.X - progressBar.BBoxLeft)*Duration(tag)/progressBar.Width
Then, making it draggable should not be too hard, just add another sprite for the knob, update its position at the same time you update the progress width, with the same value. Give it a drag and drop behavior, constrained to the horizontal axis only. This makes it draggable. When you release the drag, just use the same expression as above for seeking, except replace Mouse.X with knob.X