PDA

Volledige versie bekijken : (flash) audio player default op pauze?


Dohpaz
%Europe/Berlin %724 %2008, 17:23
Hallo!

Ik heb een website gemaakt voor mn bandje. Daarop ook een flash-audio player. Deze heb ik als .fla ergens vh internet en hier en daar aangepast. Ik vind het iritant dat wanneer je de site bezoekt de player meteen aanstaat; de bezoeker krijgt meteen geluid voor zn kiezen ipv dat hij/zij daar zelf voor kan kiezen. Wat ik wil is deze player zo aanpassen dat hij per default op pauze staat. Dus dat ook de playknop op 'play' ( > ) staat ipv op 'pauze' ( || ).

Wie kan mij vertellen wat ik moet aanpassen? Alvast bedankt!

De player staat hier (http://www.dublicators.nl) (let niet op de muziek, we zijn nog niet klaar :D )

Het script is als volgt:

import mx.transitions.Tween;
import mx.transitions.easing.*;

var song_folder:String = "songs/";
var song_list:Array = new Array();
var track_list:Array = new Array();
var artist_list:Array = new Array();
var album_list:Array = new Array();
var current:Number = 0;
var position:Number;
var new_volume:Number = 100;
var flashmo_xml:XML = new XML();
flashmo_xml.ignoreWhite = true;
flashmo_xml.onLoad = function()
{
var nodes:Array = this.firstChild.childNodes;
for(var i = 0; i < nodes.length; i++)
{
song_list.push(nodes[i].attributes.filename);
track_list.push(nodes[i].attributes.track);
artist_list.push(nodes[i].attributes.artist);
album_list.push(nodes[i].attributes.album);
}
play_song("start");
}
flashmo_xml.load( song_folder + "flashmo_songs.xml");

fm_play.play_pause.onRelease = function()
{
if( this._parent._currentframe == 1 )
this._parent._parent.play_pause("pause");
else
this._parent._parent.play_pause("play");

this._parent.play();
}
fm_prev.onRelease = function()
{
this._parent.play_song("prev");
}
fm_next.onRelease = function()
{
this._parent.play_song("next");
}
function play_song(track:String):Void
{
if(track == "prev")
current--;
else if(track == "start")
current = 0;
else
current++;

if(current == song_list.length)
current = 0;
else if(current < 0)
current = song_list.length - 1;

s = new Sound(); s.loadSound(song_folder + song_list[current], true);
s.setVolume(new_volume);
track_title.text = track_list[current];
artist_name.text = artist_list[current];
album_title.text = album_list[current];
track_info.text = "Track " + (current+1) + " of " + song_list.length;
fm_play.gotoAndStop(1);
}
function play_pause(pp:String):Void
{
if(pp == "pause")
{
position = s.position;
s.stop();
}
else if(pp == "play")
{
s.start(position/1000);
}
}
var my_interval:Number;
my_interval = setInterval(update_bar, 100);
function update_bar():Void
{
var total_seconds:Number = s.duration/1000;
var minutes:Number = Math.floor(total_seconds/60);
var seconds = Math.floor(total_seconds)%60;
if(seconds < 10)
seconds = "0" + seconds;

var total_current_seconds:Number = s.position/1000;
var current_minutes:Number = Math.floor(total_current_seconds/60);
var current_seconds = Math.floor(total_current_seconds)%60;
if(current_seconds < 10)
current_seconds = "0" + current_seconds;

percent_loaded = Math.round(s.getBytesLoaded() / s.getBytesTotal() * 100);

if( percent_loaded != 100 && percent_loaded > 0)
loading_info.text = "loading... " + percent_loaded + "%";
else
loading_info.text = "";

flashmo_bar._width = Math.round( s.position/s.duration*flashmo_bar_bg._width );
flashmo_pointer._x = flashmo_bar._width + flashmo_bar._x;

position_info.text = current_minutes +":"+ current_seconds + " / " + minutes +":"+ seconds;
if( s.getBytesLoaded() == s.getBytesTotal() && s.position == s.duration )
play_song();
}
var theMenu:ContextMenu = new ContextMenu();
theMenu.hideBuiltInItems(); _root.menu = theMenu;
var item:ContextMenuItem = new ContextMenuItem("Created by Peter van der Slikke", flashmo);
theMenu.customItems[0] = item;
function flashmo() { getURL("http://www.google.com"); }

flashmo_pointer.onPress = function()
{
this.startDrag(true, flashmo_bar_bg._x, this._y, flashmo_bar_bg._width + flashmo_bar_bg._x, this._y );
s.stop(); clearInterval(my_interval);
}
flashmo_pointer.onRelease = flashmo_pointer.onReleaseOutside = function()
{
this.stopDrag();
new_position = s.duration * (this._x - flashmo_bar_bg._x) / (flashmo_bar_bg._width * 1000);
s.start(new_position); fm_play.gotoAndStop(1);
my_interval = setInterval(update_bar, 100);
}
flashmo_volume_pointer.onPress = function()
{
this.startDrag(true, flashmo_volume_bg._x, this._y, flashmo_volume_bg._width + flashmo_volume_bg._x, this._y );
}
flashmo_volume_pointer.onRelease = flashmo_volume_pointer.onReleaseOutside = function()
{
this.stopDrag(); new_volume = this._x - flashmo_volume_bg._x;
new Tween(flashmo_volume, "_width", Strong.easeOut, flashmo_volume._width, new_volume, 1.5, true);
s.setVolume(new_volume);
}

Dohpaz
%Europe/Berlin %434 %2008, 10:26
Is dit heel moeilijk? Of niet interessant? Of heb ik geen geduld (sorry)?

Jan
%Europe/Berlin %851 %2008, 20:25
Voeg onder deze regel:
play_song("start");
dit toe:
play_pause("pause");

Of niet interessant?
Gebruik de juiste tags rond je script. [as ] of knop {} voor actionscript. Dan is het niet zo'n lap grijze code...

Groeten,
Jan

Dohpaz
%Europe/Berlin %440 %2008, 10:34
Hoi adnez,

Bedankt, het werkt! maar nog niet perfect...

Nu staat de button play/pause per default op pause, wat niet klopt, als hij pauzeert moet de play button de optie zijn. Wanneer je op pauze drukt gaat de button over naar 'play' dit klopt en dan klopt ie, als je de button nog een keer indrukt gaat ie spelen...

Je moet dus een keer extra klikken nu.

Verder stopt de player nu na een song, waar hij voorheen automatisch naar de volgende ging.

Overkomelijk maar als het verholpen kan worden graag!!

hier (http://www.dublicators.nl) zie je wat ik bedoel (heb het regeltje uit het vorige bericht eraan toegevoegd.

Nogmaals dank! Een stuk minder iritant al zo! Kun je me verder helpen met deze 2dingetjes nog?

Jan
%Europe/Berlin %483 %2008, 11:35
Hmm, je verandert die toegevoegde regel misschien best van:
play_pause("pause");
in :
fm_play.play_pause.onRelease()

Groeten,
Jan

Dohpaz
%Europe/Berlin %562 %2008, 13:29
Geweldig!!! Nu doet ie precies wat ik wil.

Superbedankt Jan!