package { import flash.display.MovieClip; import flash.external.ExternalInterface; import flash.media.Sound; import flash.media.SoundChannel; import flash.net.URLRequest; public class mp3player extends MovieClip { public var s:Sound; public var m:SoundChannel; private var p:Number = 0; private var file:String = ""; public var playButton:MovieClip; public var stopButton:MovieClip; public var pauseButton:MovieClip; public function mp3player() { // setup callback from javascript ExternalInterface.addCallback("playSound", playSound); ExternalInterface.addCallback("stopSound", stopSound); ExternalInterface.addCallback("pauseSound", pauseSound); } public function playSound(mp3:String):void { if(file != mp3){ // Reset position if new file file = mp3; p = 0; } var url:URLRequest = new URLRequest(mp3); if(s && m.position > 0){ m.stop(); } s = new Sound(); s.load(url); m = s.play(p); } public function stopSound():void { p = 0; m.stop(); } public function pauseSound():void { p = m.position; m.stop(); } } }