Red de conocimiento informático - Material del sitio web - ¿Cómo crear un reproductor de canciones usando Flash?

¿Cómo crear un reproductor de canciones usando Flash?

Primero, use el Bloc de notas para editar un archivo XML con el siguiente contenido:

HAY DISTANCIA

distancia.mp3

AMOR EN DICIEMBRE

love.mp3

GRACIAS

gracias.mp3

ESTRANGED

estranged.mp3

NADA MÁS IMPORTA

Matters .mp3

HOLA PEQUEÑA ESTRELLA

hola.mp3

DAS SCHWEIGEN < / p>

das.mp3

DECISIÓN DE SHEETA< / título> </p><p> <nombre>SHETA.mp3</nombre> </p><p> </canción> </p><p> <canción> </p><p> <título > BGM

bgm01.mp3

MUÉSTRAME

showme.mp3

< /datos>

;

título es el nombre de la canción, nombre es el nombre del archivo mp3. Solo necesitas modificarlo o agregarlo según el formato en el futuro. Por supuesto, también puedes usar ASP. PHP y otros programas para generarlo... porque es algo simple, por lo que no se necesita ID3. Esto también es vago, jaja. Tenga en cuenta que el archivo debe colocarse en el mismo directorio que el XML; de lo contrario, se producirá un error.

Por supuesto, siempre que no sea problemático, también puedes agregar una ruta MP3 o una ruta local en FLASH.

Guarde la lista como list.xml, cree un directorio de música, coloque los archivos MP3 y XML en él y coloque FLASH en el directorio superior.

Fúmate un cigarrillo y tómate un descanso...Continuará...

Echemos un vistazo a esta imagen como imagen de fondo del MP3. Por supuesto, tienes más. También se pueden cambiar los lugares que son bonitos o que necesitan más funcionalidad.

Configuré el tamaño de la memoria flash en 320*60, que es un poco más grande que la imagen. ¡Comencemos a escribir AS!

Marco 1:

Paso 1:

// Definir XML y matriz

var myXML = new XML();

p>

var mp3total = nueva matriz();

var mp3name = nueva matriz();

var mp3 = nueva matriz();

// Definir s como una clase de sonido

var s = new Sound();

// Definir la ruta de mp3 y XML

var url = "music /";

/ Define el ID de la canción, es decir, la primera y segunda canción

var id = new Array();

// Define el ID de la canción. p>

var id = 0;

// Define el tiempo de reproducción, que se utilizará para el botón de reproducción/pausa más adelante

var jugado = 0

// Defina los parámetros del botón de parada, que se utilizan para determinar si la reproducción no se ha detenido, es decir, el botón de pausa se puede presionar cuando la tecla == es verdadera.

... (Creo que lo entendí al revés)

var key = true;

/Define el parámetro del botón de pausa para determinar si la reproducción ha sido pausada

var pausado = false;

Después de completar la definición anterior, pasemos al siguiente paso...

Paso 2:

/Defina la función de precarga

función preloading() {

//le da a la precarga el evento enterframe, la precarga es la barra de progreso, que se explicará más adelante...

precarga .onEnterFrame = function () {

//Obtiene el número total de bytes del MP3 y el número de bytes descargados

var cargado = s.getBytesLoaded();

var total = s.getBytesTotal();

// La longitud de la barra de progreso, el motivo de 160 es porque la longitud máxima es 160... -___-b

//----- qhwa Nota: _xscale puede ser más simple y más general

this._width = cargado / total * 160;

if (loaded == total) {

// Elimina el evento Enterframe una vez completada la descarga

elimina this.onEnterFrame;

}

};

}

No creo que necesite explicar demasiado aquí... Los amigos de FLASH LOADING deberían haberlo usado antes. reemplazó la película CARGANDO con MP3 CARGANDO

Ahora comience el tercer paso:

// Función de reproducción de sonido

función loadsound(x) {

/// Al reproducir Establecer en 0. Establecido en 0, el propósito es el anterior...-___-b

played = 0;

//Reasigna las variables de los botones de pausa y parada

pausado = falso;

key = true;

// Repetir s = new Sound() Esto es para restablecer el número de milisegundos (posición) de la reproducción del sonido a 0, I No lo sé. Esta no es una buena idea. Restablecer a 0, no puedo encontrar una solución mejor, por favor avise...

s = new Sound();

// Leer MP3, la URL definida arriba es la ruta del MP3, x es el parámetro en la función, donde x representa el nombre MP3 de la canción y el siguiente true permite que el sonido se reproduzca en el formato de un flujo de datos

s.loadSound( url + x, true) ;

// trackname es un cuadro de texto que muestra el nombre de la canción y la identificación se ha definido como el número de serie de la canción. Dado que comienza desde 0, debe ser +. 1 aquí La primera canción no se puede mostrar como 0…. El contenido en el medio de los dos puntos es el separador entre el número de serie y el nombre de la canción MP3, que se puede reemplazar con el símbolo que desee.

Después de cargar mp3name[id] en la matriz de nombres de canciones MP3, se explicará la siguiente función

trackname = (id + 1) + ".- " + mp3name[id]; >/ / Empieza a reproducir música...

s.start();

// OnSoundComplete es la función que se llama cuando el sonido deja de reproducirse

s. onSoundComplete = function () {

// Otra expresión condicional, que es muy problemática de explicar... Esto suele ser usado por gente perezosa como yo... -____-b, será más fácil entiendo si está escrito... Esto es un signo de interrogación (?) ¿Es válido el (id == mp3total.length - 1) delante del signo de interrogación? Si es válido, a la identificación se le asigna un valor de 0; de lo contrario, la identificación es válida. se le asigna un valor de id + 1

id = (id == mp3total.length - 1) ?0 : (id + 1);

//Ejecuta la función loadsound, eso es. es decir, ahora ejecute la función nuevamente, los parámetros entre paréntesis son para x en la función Asigne un valor a mp3[id], que es el nombre de la canción. La matriz de mp3 se explica a continuación...

<. p>loadsound(mp3[id]);

// No es necesario explicar las llaves ¿Ya?

};

// Mix es lo que salta a la derecha. Ahora no tengo forma de obtener el tono de la frecuencia del mp3, así que tengo que usar un. frecuencia falsa en su lugar, risa

mix.gotoAndStop(1);

//Ejecutar función de precarga

preloading();

Escribí mucho y estaba un poco cansado. Descansé después de escribir el siguiente contenido.

Paso 4:

// Esto... nosotros. Todavía lee las publicaciones anteriores o lee la ayuda. De todos modos, estas dos cosas se usan básicamente en FLASH con XML

myXML.ignoreWhite = true;

System.useCodepage = true ;<. /p>

//Ejecuta la siguiente función cuando XML comience a leer

parseXML();

} else {

//this .. No hablaré de eso, ¿vale? Pregúntale al moderador

mp3total = myXML.firstChild.childNodes;

//Construye un bucle for

for (var i = 0; i < mp3total. length ; i++) {

//Pon el nombre del MP3 en la matriz mp3names

//Pon el nombre del MP3 en la matriz mp3names.

[i].childNodes[1].firstChild.nodeValue;

}

//......... (Pensarás que soy estúpido)

play();

}

//Leer XML

myXML.load(url + "list.xml");

p>

stop();

Cuadro N

Aquí puede pasar cualquier cosa, ¡puedes hacerlo tan largo como quieras! Puedes hacerlo tan largo como quieras... En el medio, puedes agregar algunos efectos aleatorios

Comienza a definir los botones... Puse cuatro botones en uno *** aquí, btn1, btn2, btn3 y btn4 son la canción anterior, detener, reproducir/pausar y la siguiente canción respectivamente. Colóquelos en la posición adecuada y se dibujará la imagen. Si no sabe dibujar, simplemente estudie más y. estudiar a otros jugadores.

Comience a agregarles eventos del mouse...

Botón de canción anterior

btn1

btn1.onPress = function() {

//Es una expresión condicional como antes, puedes ver la explicación anterior

id = id == 0 mp3total.length - 1 : id - 1;

//Igual que se explicó anteriormente...

loadsound(mp3[id]);

}

Botón de parada

btn2

btn2.onPress = function() {

Determina si este botón se puede presionar. Oh, si se puede presionar, realice la operación

if (tecla) {

//Detenga el sonido. Si no se puede detener, no llame al botón de parada.

reproducido = 0;

clave = falso

s = nuevo sonido(); p>} ;

El botón de reproducción/pausa también es el botón que requiere más contenido.

Llora ~`Si es igual o similar a lo anterior, dejaré de decir tonterías... divido por 1000, y luego un bucle...

s.start(played / 1000, 1) ;

//Omitido...

nombre de pista = (id + 1) + ".- " + nombre de mp3[id];

mix.gotoAndStop(1);

pausado = false;

} else {

//asignar un valor a reproducido, es decir, cuántos milisegundos. ha estado jugando

jugado = s.position <

//Un poco...

s.stop(); p> mix.gotoAndPlay(1);

trackname = "PAUSED"

pausado = true

}

} else; {

loadsound(mp3[ id]);

}

};

Botón Siguiente

btn4

btn4.onPress = function() {

id = id == mp3total.length - 1 ? id + 1; id]);

};

Los cuatro botones han sido activados. Si queremos agregar visualización de la hora en el reproductor, necesitamos agregar el siguiente código...

// Ejecutar función loadsound

loadsound(mp3[id]);

// Definir varias variables

var tiempo1 = tiempo2 = tiempo3 = time4 = 0;

onEnterFrame = function () {

// Otra expresión condicional problemática... Por conveniencia, te explicaré algunos comandos. .(Perezoso)... Debería haberlo dicho antes. Dividir entre 60000 significa dividir entre 1000 y luego dividir entre 60. ¿Por qué haces esto? Debido a que el tiempo es 60 dígitos después del punto decimal, después de convertir milisegundos a unidades de tiempo en segundos, int () significa un número entero, es decir, convertir el contenido en un número entero. Cuando la condición anterior es menor que 10, no podemos dejar que el tiempo. aparece así, ¿verdad?

//Por ejemplo: 12:1, así que agregue un 0 delante.

//la duración es la duración total de la canción.

// El signo de porcentaje aquí no es un porcentaje, sino un resto, como 9%5=4

//%60 es el resto de 60, no más de 60 , usado para expresar Segundos

tiempo1 = int(s.position / 60000) < 10 ? "0" + int(s.position / 60000) : int(s.position / 60000); >

time2 = int(s.position / 1000 % 60) < 10 ?

int(s.duration / 1000 % 60);

// Estas cuatro variables son listo, colócalos en un cuadro de texto llamado línea de tiempo, que puedes encontrar justo encima del título de la canción

línea de tiempo = tiempo1 + ":" + tiempo2 + " - " + tiempo3 + ": " + tiempo4

};

stop();

Uf... Ahora que el contenido principal ha sido escrito, tratemos con la barra de volumen y la barra de progreso y contenido que salta a la derecha...

Continuará...

Continuará...

Empecemos con el volumen... Crea un nuevo MC, nómbralo como quieras, luego escribe AS

VOLUMEN

/ Define dos variables, l representa la izquierda y t representa la parte superior

var l = this._x;

var t = this._y;

btn.onPress = function() {

// Comienza a arrastrar cuando se hace clic... En este MC, el centro del mouse se define como falso, el lado izquierdo es l - 146, debido a que el espacio aquí tiene solo 146 de ancho y debido a que no se permite moverse hacia arriba y hacia abajo, el rango más alto es t, y el El lado derecho es la posición actual definida como l, no permita que exceda el rango actual, el rango más bajo es t

startDrag(this.false, l - 146, t, l, t <); /p>

btn.onPress = function {

// Comienza a arrastrar después de hacer clic. onReleaseOutside = función () {

stopDrag();

};

onEnterFrame = función () {

/Asigna un valor a la variable vol. Esta es una fórmula simple que puedes estudiar. (vol);

};

Una vez hecho esto, arrástralo a la escena principal y déjalo como está, pero presta atención a su posición.

En realidad es solo un MC gris, la cuadrícula de arriba es una MÁSCARA, el AS en la escena principal controla la duración aquí

Frecuencia y tono: mezcla

Es simplemente algo falso. Esto es simplemente algo falso, porque ahora Flash no puede obtener los distintos valores del tono, simplemente dibuja algunos MC en movimiento y luego haz una MÁSCARA con la línea de puntos de arriba, pero tenemos que hacerlo. aquí al parar y jugar Diferentes acciones.

Coloque un MC móvil en el Frame1 de la mezcla. Los movimientos del MC se completan en el MC, es decir, se mueven hacia arriba y hacia abajo de manera irregular. Simplemente se ve un poco virtual y sólido. al El MC de la acción solo está reservado para el Cuadro 1.

Usemos un MC blanco más grande para completarlo más tarde. Muévalo a la parte superior de la matriz de puntos y bájelo gradualmente. Como está puesto, está bien.

Finalmente, arrastra esto a la posición apropiada en la escena principal, llámalo mezcla y listo.