Skip to content

Commit

Permalink
Fixed bug with audio progress / time
Browse files Browse the repository at this point in the history
  • Loading branch information
brentkirby committed Oct 8, 2010
1 parent 56819ae commit 18a5bff
Show file tree
Hide file tree
Showing 7 changed files with 76 additions and 10 deletions.
19 changes: 10 additions & 9 deletions com/kurbmedia/mediaplayers/AudioPlayer.as
Expand Up @@ -14,6 +14,7 @@ package com.kurbmedia.mediaplayers{
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundTransform;
import flash.media.SoundLoaderContext;

public class AudioPlayer extends PlayerBase{

Expand Down Expand Up @@ -44,7 +45,7 @@ package com.kurbmedia.mediaplayers{
timer_text.defaultTextFormat = tf;
}

timer_text.text = "Loading....";
timer_text.text = "Loading..";
}

dispatchEvent(new PlayerEvent(PlayerEvent.RENDER_COMPLETE));
Expand All @@ -53,7 +54,7 @@ package com.kurbmedia.mediaplayers{
audio_channel = new SoundChannel();
audio_transform = new SoundTransform(1,1);

audio.load(request_file(player_data.file.url));
audio.load(request_file(player_data.file.url), new SoundLoaderContext(1000, false));
enable_play_buttons(false);

audio.addEventListener(ProgressEvent.PROGRESS, load_progress);
Expand Down Expand Up @@ -91,7 +92,7 @@ package com.kurbmedia.mediaplayers{

enable_play_buttons(true);

if(player_data.file.autoPlay){
if(player_data.file.autoPlay === true){
dispatchEvent(new PlayerEvent(PlayerEvent.PLAY_DATA));
is_playing = true;
}
Expand Down Expand Up @@ -130,7 +131,7 @@ package com.kurbmedia.mediaplayers{
}

private function update_progress(e:TimerEvent){

if(has_control('timer_text')){
var total_min = Math.floor(audio.length / 1000 / 60);
var total_sec = Math.floor(audio.length / 1000) % 60;
Expand All @@ -140,14 +141,14 @@ package com.kurbmedia.mediaplayers{
if (total_sec < 10) total_sec = '0' + total_sec;
if (curr_sec < 10) curr_sec = '0' + curr_sec;

timer_text.text = (audio.id3.TIME != undefined || audio.bytesLoaded >= audio.bytesTotal) ? (curr_min + ':' + curr_sec + ' / ' + total_min + ':' + total_sec) : (curr_min + ':' + curr_sec + ' / --:--');
if(audio.bytesLoaded >= audio.bytesTotal){
timer_text.text = curr_min + ':' + curr_sec + ' / ' + total_min + ':' + total_sec
}else{
timer_text.text = curr_min + ':' + curr_sec + ' / --:--';
}
}

if(has_control('progress_bar')){
if(audio.id3.TIME != undefined){
progress_bar.update_progress(audio_channel.position / audio.length);
return;
}

var durationloaded = audio.length;
var bytesloaded = audio.bytesLoaded;
Expand Down
5 changes: 4 additions & 1 deletion com/kurbmedia/mediaplayers/PlayerBase.as
Expand Up @@ -75,7 +75,10 @@ package com.kurbmedia.mediaplayers{
XML.ignoreWhitespace = true;
var parser = new XmlParser();
player_data = parser.parse(new XML(e.target.data));
player_data.file = { url:root.loaderInfo.parameters.file, autoPlay:root.loaderInfo.parameters.autoPlay };
player_data.file = {
url:root.loaderInfo.parameters.file,
autoPlay:((root.loaderInfo.parameters.autoPlay == undefined || root.loaderInfo.parameters.autoPlay == "false") ? false : true)
};

player_base = new DrawingObject();
player_base.x = player_base.y = 0;
Expand Down
62 changes: 62 additions & 0 deletions com/kurbmedia/mediaplayers/VideoPlayer.as
@@ -0,0 +1,62 @@
package com.kurbmedia.mediaplayers{

import flash.display.MovieClip;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.events.IOErrorEvent;
import flash.events.TimerEvent;
import flash.utils.Timer;
import flash.text.TextFormat;
import flash.text.TextField;

import com.kurbmedia.mediaplayers.events.PlayerEvent;

public class VideoPlayer extends PlayerBase{

public var flv_player:FLVPlayBack;

public function VideoPlayer(){
addEventListener(PlayerEvent.CONSTRUCT_COMPLETE, init_player);
super();
}

private function init_player(e:PlayerEvent){

addEventListener(PlayerEvent.PLAY_DATA, play_video);
addEventListener(PlayerEvent.PAUSE_DATA, pause_video);
addEventListener(PlayerEvent.MUTE_DATA, mute_video);
addEventListener(PlayerEvent.UNMUTE_DATA, mute_video);

dispatchEvent(new PlayerEvent(PlayerEvent.RENDER_COMPLETE));


}

private function enable_play_buttons(dir:Boolean){

var a = (dir == true) ? 1 : .5;

if(has_control('play_pause_button')){
play_pause_button.alpha = a;
play_pause_button.mouseEnabled = dir;
}

if(has_control('play_button')){
play_button.alpha = a;
play_button.mouseEnabled = dir;
}
}


private function mute_video(e:PlayerEvent){
}

private function play_video(e:PlayerEvent){
}

private function pause_video(e:PlayerEvent){
}

}

}
Binary file modified examples/audio_player.swf
Binary file not shown.
Binary file modified flas/audio_player.fla
Binary file not shown.
Binary file modified flas/audio_player.swf
Binary file not shown.
Binary file added flas/video_player.fla
Binary file not shown.

0 comments on commit 18a5bff

Please sign in to comment.