Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/06/2011, 11:45
ivan_505
 
Fecha de Ingreso: junio-2011
Mensajes: 2
Antigüedad: 13 años, 5 meses
Puntos: 0
Código para AutoPlay False reproductor Mp3 y XML

Hola!
Tengo un reproductor en Flash que carga las canciones por XML, ya probé miles de cosas pero no puedo hacer que sea autoplay=false, o sea, lo que quiero es que el reproductor no arranque solo, sino que arranque el audio de las canciones cuando se le da PLAY.

Acá el código del FLA

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

var song_folder:String = "audio/";
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 + "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) + " de " + 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 = "cargado... " + 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("Creado por Iván.Candle", flashmo);
theMenu.customItems[0] = item;
function flashmo() { getURL("http://www.ivancandle.com.ar", "_blank"); }

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);
}



Acá el codigo del XML

<?xml version='1.0' encoding='utf-8'?>
<song autostart="no">
<song filename="Track01.mp3" track="01 bla bla" artist="nombre del artista" album="Nombre del album" />
<song filename="Track02.mp3" track="02 prueba bla bla bla" artist="nombre del artista" album="Nombre del album" />
<song filename="Track03.mp3" track="03 tema" artist="nombre del artista" album="Nombre del album" />
</songs>


Espero que alguno sepa como hacerlo!
Desde ya gracias y espero los comentarios
Ivan