Comunidad de diseño web y desarrollo en internet online

reproductor flash + xml

Citar            
MensajeEscrito el 07 Mar 2009 09:38 pm
Hola amigos, anda buscando tengo un reproductor de flash cs3 este es el codigo

Código :

// Flash MP3 Player XML
// Developed by www.flashmo.com
import mx.transitions.Tween;
import mx.transitions.easing.*;

var song_folder:String = "http://www.fileden.com/files/2009/3/7/2352776/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 www.flashmo.com", flashmo);
theMenu.customItems[0] = item;
function flashmo() {   getURL("http://www.flashmo.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);
}


bueno originalmente la variable donde estarian las canciones era asi: var song_folder:String ="song/" osea era localmente, pero mi problema es que para evitar ocupar espacio al subirlo en el hosting k compre (es pekeño), subi las canciones en un servidor gratuito y entonces esa variable la cambie por
var song_folder:String = "http://www.fileden.com/files/2009/3/7/2352776/songs/";
dentro de la carpeta song estan los mp3 y el archivo xml para poder listarlos, como veran es lo mismo solo k hize k la carpeta song lo lea desde un servidor externo, bueno estando en el programa flash, le doy Ctrl + enter como sabeis para ver la pelicula y funciona muy bien el reproductor incluso sale el cargador de cada cancion, por lo k lo jala desde un servidor externo, pero cuando inserto el swf en mi index y lo veo localmente no ejecuta, alguien puede ayudarme...incluso subi a mi hosting y tampoco funciona, pero recalco k estando el flash si funciona, ..alguien podria ayudarme porfavor gracias.

Por hackematrix

25 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 Mar 2009 12:05 pm
Si tu archivo swf esta en el mismo servidor que los mp3s y el xml, entonces no deberias tener problemas, de otro modo, es un problema de seguridad, intenta colocando esta linea al incio:

Código ActionScript :

System.security.allowDomain("http://www.fileden.com");


Si eso no funciona mira esto y para mas informacion, esto. Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.