Projet langagec
Fermé
thomas.b
-
7 janv. 2021 à 11:54
[Dal] Messages postés 6200 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 7 janvier 2025 - 9 janv. 2021 à 01:57
[Dal] Messages postés 6200 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 7 janvier 2025 - 9 janv. 2021 à 01:57
A voir également:
- Projet langagec
- Filigrane projet - Guide
- Exemple d'un projet déjà monté - Forum Programmation
- Film projet x a telecharger gratuitement - Télécharger - Outils professionnels
- Musique projet x - Forum Musique / Radio / Clip
- Gantt projet - Télécharger - Gestion de projets
7 réponses
yg_be
Messages postés
23421
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 janvier 2025
Ambassadeur
1 557
7 janv. 2021 à 12:38
7 janv. 2021 à 12:38
bonjour,
à lire d'urgence: https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
à lire d'urgence: https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
[Dal]
Messages postés
6200
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
7 janvier 2025
1 097
Modifié le 7 janv. 2021 à 14:24
Modifié le 7 janv. 2021 à 14:24
Pour jouer aléatoirement des sons, ont peut par exemple :
Pour faire cela, sous Windows, on peut utiliser la fonction de l'API Windows PlaySound() par exemple : https://docs.microsoft.com/en-us/previous-versions/dd743680(v=vs.85)
Si on veut faire du code portable, on peut aussi installer une bibliothèque supportant ce type de fonctionnalités. Par exemple la SDL2, et ses fonctions Mix_LoadWAV() ou Mix_LoadMUS ()
https://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer_19.html
https://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer_55.html
Dal
- stocker les N fichiers sons concernés dans un répertoire
- stocker les chemins des fichiers sons dans un tableau de dimension N
- tirer au sort, avec ou sans répétitions selon ce que l'énoncé demande en utilisant rand() préalablement initialisée
- utiliser une fonction de l'API du système d'exploitation pour jouer le fichier son (le C ne contient pas, dans la spécification du langage, des fonctions permettant de jouer des sons)
Pour faire cela, sous Windows, on peut utiliser la fonction de l'API Windows PlaySound() par exemple : https://docs.microsoft.com/en-us/previous-versions/dd743680(v=vs.85)
Si on veut faire du code portable, on peut aussi installer une bibliothèque supportant ce type de fonctionnalités. Par exemple la SDL2, et ses fonctions Mix_LoadWAV() ou Mix_LoadMUS ()
https://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer_19.html
https://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer_55.html
Dal
merci ! comment faire stocker les fichiers sons dans le repertoires ?
ca m'affiche impossible
ca m'affiche impossible
[Dal]
Messages postés
6200
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
7 janvier 2025
1 097
8 janv. 2021 à 14:09
8 janv. 2021 à 14:09
Bonjour Thomas,
Malheureusement, nous ne sommes pas voyants extralucides et nous ne sommes pas dans ta tête (heureusement).
Si ta question a un lien avec la programmation en langage C, alors poste le code qui génère une erreur en indiquant précisément le contexte d'exécution dans le lequel cette erreur se déclenche, en indiquant où cette erreur s'affiche et comment.
Si ta question n'a pas de lien avec la programmation en langage C et concerne juste l'utilisation de son système d'exploitation pour copier des fichiers à un certain endroit (lequel ?), alors tu n'est pas sur le bon forum.
Dans les deux cas, tu n'as pas fourni assez d'explications sur ce que tu essayes de faire, comment, dans quel répertoire, quand est-ce que le message d'erreur s'affiche (en faisant quoi très exactement), et tu ne donnes d'ailleurs pas le message d'erreur exact.
En bref, pour nous aussi il est "impossible" de te répondre.
Malheureusement, nous ne sommes pas voyants extralucides et nous ne sommes pas dans ta tête (heureusement).
Si ta question a un lien avec la programmation en langage C, alors poste le code qui génère une erreur en indiquant précisément le contexte d'exécution dans le lequel cette erreur se déclenche, en indiquant où cette erreur s'affiche et comment.
Si ta question n'a pas de lien avec la programmation en langage C et concerne juste l'utilisation de son système d'exploitation pour copier des fichiers à un certain endroit (lequel ?), alors tu n'est pas sur le bon forum.
Dans les deux cas, tu n'as pas fourni assez d'explications sur ce que tu essayes de faire, comment, dans quel répertoire, quand est-ce que le message d'erreur s'affiche (en faisant quoi très exactement), et tu ne donnes d'ailleurs pas le message d'erreur exact.
En bref, pour nous aussi il est "impossible" de te répondre.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je devais taper le code sudo apt install libsox* dans le terminal pour installer des sons mais ca ne fonctionne pas j'ai meme essaye sudo pat install sox et ca affiche play fail
[Dal]
Messages postés
6200
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
7 janvier 2025
1 097
Modifié le 8 janv. 2021 à 17:52
Modifié le 8 janv. 2021 à 17:52
Tu es donc sous Linux. Peux-tu préciser :
- quelle est ta version de Linux (type Ubuntu, Debian, etc. et numéro ou nom de version) ?
- est-ce que le son fonctionne sur ton système (ouvre une vidéo Youtube avec ton navigateur, etc.), entends tu le son ? Dans la négative, est-ce un PC dont tu disposes ou un ordinateur portable ? Est-il doté d'une carte son et la sortie son est-elle reliée à des hauts parleurs ou des écouteurs ?
- quel est le format des fichiers sons que tu veux jouer à partir de ton programme .c (.wav, .ogg, .mp3, etc.) ?
[Dal]
Messages postés
6200
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
7 janvier 2025
1 097
Modifié le 9 janv. 2021 à 02:09
Modifié le 9 janv. 2021 à 02:09
OK, alors sous Linux Ubuntu, avec SDL2_mixer préalablement installée
en supposant que tu as un fichier "signal.mp3" dans le même répertoire où se trouve le fichier playsound.c suivant :
on compile playsound.c et on l'exécute :
Ce code devrait fonctionner exactement de la même manière sous Windows et les autres systèmes d'exploitation supportés par la SDL2. Il suffit d'installer la bibliothèque et de compiler avec les bonnes options.
La SDL2 permet de faire d'autres choses (gestion de l'écran, clavier, souris, etc.).
Si tu préfères une bibliothèque portable dédiée à la gestion du son, tu peux aussi voir du côté de FMOD, qui est plus complète.
Dal
sudo apt-get install libsdl2-mixer
en supposant que tu as un fichier "signal.mp3" dans le même répertoire où se trouve le fichier playsound.c suivant :
#include "SDL2/SDL.h" #include "SDL2/SDL_mixer.h" int main(int argc, char **argv) { int result = 0; int flags = MIX_INIT_MP3; /* init SDL */ if (SDL_Init(SDL_INIT_AUDIO) < 0) { printf("Failed to init SDL\n"); exit(1); } /* init SDL_mixer */ if (flags != (result = Mix_Init(flags))) { printf("Could not initialize mixer (result: %d).\n", result); printf("Mix_Init: %s\n", Mix_GetError()); exit(1); } Mix_OpenAudio(22050, AUDIO_S16SYS, 2, 640); /* open a mp3 file and play it one time until the end */ Mix_Music *music = Mix_LoadMUS("signal.mp3"); Mix_PlayMusic(music, 1); while (Mix_PlayingMusic()) { SDL_Delay(100); } Mix_FreeMusic(music); /* done using SDL */ SDL_Quit(); return 0; }
on compile playsound.c et on l'exécute :
$ gcc -oplaysound playsound.c `pkg-config --cflags --libs SDL2_mixer` $ ./playsound
Ce code devrait fonctionner exactement de la même manière sous Windows et les autres systèmes d'exploitation supportés par la SDL2. Il suffit d'installer la bibliothèque et de compiler avec les bonnes options.
La SDL2 permet de faire d'autres choses (gestion de l'écran, clavier, souris, etc.).
Si tu préfères une bibliothèque portable dédiée à la gestion du son, tu peux aussi voir du côté de FMOD, qui est plus complète.
Dal