elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Archivo de audio en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: Archivo de audio en C  (Leído 12,990 veces)
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Archivo de audio en C
« Respuesta #10 en: 19 Julio 2014, 18:53 pm »

Bien explicado, lo malo es que yo uso Dev++, y estoy mirando en "proyecto" pero no me deja escoger ninguna opción :/

"Creo" que en DeV++, una vez que creas un nuevo proyecto, vas a Project y en el mismo a Project Options y en la pestaña Parameters te sitúas en la columna Linker y ahí usas el botón Add Library Object y en la ventanita que se abre seleccionas el libwinmm.a o el que sea.

¡¡¡¡ Saluditos! ..... !!!!




En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Archivo de audio en C
« Respuesta #11 en: 20 Julio 2014, 00:53 am »

Si no te quieres liar, simplemente pon:

Código
  1. #include <windows.h>
  2.  
  3. int main(){
  4.    PlaySound("ruta/archivo.wav",NULL,SND_FILENAME);
  5.    return 0;
  6. }

Así se escuchará el sonido y se detendrá el programa hasta que acabe.


En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Archivo de audio en C
« Respuesta #12 en: 20 Julio 2014, 12:58 pm »


Y otra pequeña variante:

Código
  1. #include <windows.h>
  2.  
  3. int main(void){
  4.  sndPlaySound("C:/WINDOWS/Media/notify.wav",0);
  5.  return 0;
  6. }

¡¡¡¡ Saluditos! ..... !!!!


En línea

Baal_30

Desconectado Desconectado

Mensajes: 248



Ver Perfil
Re: Archivo de audio en C
« Respuesta #13 en: 20 Julio 2014, 13:15 pm »

¿Que diferencia hay entre el código de ivancea96 y de leosansan? Ambos son muy parecidos a
Código
  1. system("MiCancion.mp3");
Lo que pasa que con "system" sólo se puede usar con windows. ¿O estoy equivocado?

Y respecto a la otra manera, ya he añadido el libwinmm.a al proyecto, pero no se como crear el res.h y res.rc de la forma que dice daryo, no lo encuentro en Dev ++ :/
En línea

«La suerte es el cuidado de los detalles». -Winston Churchill
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Archivo de audio en C
« Respuesta #14 en: 20 Julio 2014, 13:36 pm »

¿Que diferencia hay entre el código de ivancea96 y de leosansan? Ambos son muy parecidos a
Código
  1. system("MiCancion.mp3");
Lo que pasa que con "system" sólo se puede usar con windows. ¿O estoy equivocado?

Y respecto a la otra manera, ya he añadido el libwinmm.a al proyecto, pero no se como crear el res.h y res.rc de la forma que dice daryo, no lo encuentro en Dev ++ :/

Creo que todos los que te hemos puesto son para Windows.

Y respecto a lo segundo, una vez que has creado el proyecto y añadido la librería le das a File y en él a New y a su vez a Source File. Te preguntará si añadir al proyecto y le dices que sí y lo guardas como res.rc. Y análogamente con el otro fichero.


¡¡¡¡ Saluditos! ..... !!!!


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Archivo de audio en C
« Respuesta #15 en: 20 Julio 2014, 13:47 pm »

System no reproduce el archivo de audio.
system("comando") es como escribir "comando" en la consola.
Al abrirlo con al consola, se abre el archivo con el programa predeterminado para su extensión
En línea

Baal_30

Desconectado Desconectado

Mensajes: 248



Ver Perfil
Re: Archivo de audio en C
« Respuesta #16 en: 20 Julio 2014, 15:59 pm »

Genial, ya he probado todas las formas y todas funcionan correctamente, y con la de "PlaySound(MAKEINTRESOURCE(SONIDO),NULL,SND_RESOURCE);" me funciona hasta cambiando el archivo de carpeta, no se si esto es lo normal xD

¿Alguien me puede explicar palabra por palabra la función "PlaySound(MAKEINTRESOURCE(SONIDO),NULL,SND_RESOURCE);"? Se lo agradecería bastante.

También me surje la duda de que, C entonces no puede abrir archivos mp3, pero si .wav, y para todos los códigos que me habéis dicho, el archivo de audio tiene que estar en la misma carpeta del proyecto, o bien añadir su ruta.

En cambio con la función que he usado aquí arriba, el archivo se une directamente al proyecto, por lo que me parece. ¿No?

Gracias a todos :)
En línea

«La suerte es el cuidado de los detalles». -Winston Churchill
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Archivo de audio en C
« Respuesta #17 en: 20 Julio 2014, 17:13 pm »

Compruébalo. Si al peso del ejecutable se le suma el peso del archivo WAV o parecido, sí, se le une.
En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Archivo de audio en C
« Respuesta #18 en: 20 Julio 2014, 17:17 pm »

Cita de: Baal_30
me funciona hasta cambiando el archivo de carpeta, no se si esto es lo normal xD
como te decia queda dentro del ejecutable por eso hasta borrando el sonido una vez compilado te funcionaria

Cita de: Baal_30
no puede abrir archivos mp3,
obvio se puede pero no con playsound.

Citar
¿Alguien me puede explicar palabra por palabra la función

Código
  1. PlaySound(MAKEINTRESOURCE(SONIDO),NULL,SND_RESOURCE);
pues a ver el primer parametro

Código
  1. MAKEINTRESOURCE(SONIDO)

aca le digo que seleccione el archivo que se llama SONIDO.el nombre(SONIDO) lo declaramos en resource.rc y resource.h gracias a estos archivos todo queda dentro del mismo ejecutable es lo que se llama resource(recurso) al igual que los iconos que estan en el mismo ejecutable o en algunos casos  las imagenes.
 
Código
  1. NULL
en este caso es un parametro que no nos interesa por eso se le pone NULL , es un handle.

Código
  1. SND_RESOURCE
Le indicamos que el archivo a reproducir es un recurso , si no dara error o no lo reproducira

Código
  1. PlaySound("ruta/archivo.wav",NULL,SND_FILENAME);
mira que cambian los parametros ya no hay recursos:
Código
  1. SND_FILENAME
aca se le dice que no es un recurso si no un archivo asi que lo unico que hace es buscar el archivo y reproducirlo
http://msdn.microsoft.com/en-us/library/windows/desktop/dd743680%28v=vs.85%29.aspx
« Última modificación: 20 Julio 2014, 17:25 pm por daryo » En línea

buenas
Baal_30

Desconectado Desconectado

Mensajes: 248



Ver Perfil
Re: Archivo de audio en C
« Respuesta #19 en: 20 Julio 2014, 17:51 pm »

Gracias a todos por responder, y daryo genial explicación, muchas gracias ^^

Así que, al crear el resource.rc y resource.h, el archivo de audio se mete dentro del ejecutable, guardandose en él ¿? Genial.

En línea

«La suerte es el cuidado de los detalles». -Winston Churchill
Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Archivo de audio !
Multimedia
syrlas 6 2,686 Último mensaje 19 Junio 2005, 20:15 pm
por Songoku
[MOD] Comprimir archivo audio
Multimedia
alfonso12 1 1,920 Último mensaje 24 Enero 2006, 19:31 pm
por Songoku
Crear un archivo CUE de un archivo de audio APE
Software
MaX2 3 4,193 Último mensaje 6 Febrero 2015, 19:45 pm
por MaX2
MOVIDO: Crear un archivo CUE de un archivo de audio APE
Multimedia
Songoku 0 3,229 Último mensaje 6 Febrero 2015, 14:53 pm
por Songoku
lista de silencios de un archivo de audio
Multimedia
franfis 1 2,792 Último mensaje 25 Abril 2016, 01:41 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines