1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| void PlayMusic(const char *path)
{
if(BASS_ChannelIsActive(sample) != BASS_ACTIVE_PLAYING)
{
HCHANNEL channel = NULL;
QWORD length;
sample = BASS_SampleLoad(FALSE, path, 0, 0, 1, BASS_SAMPLE_MONO);
if(sample == 0)
{
printf("Cant load the sample : %d\n", BASS_ErrorGetCode());
exit(EXIT_FAILURE);
}
channel = BASS_SampleGetChannel(sample, FALSE);
if(channel == NULL)
{
printf("Can't create a channel : %d", BASS_ErrorGetCode());
exit(EXIT_FAILURE);
}
BASS_ChannelPlay(sample, FALSE);
length = BASS_ChannelGetLength(sample, BASS_POS_BYTE);
/** songTime est un double en fait pas un DWORD pardon, il est renvoyé en secondes **/
songTime = (DWORD)BASS_ChannelBytes2Seconds(channel, length);
if(songTime == -1)
{
printf("Impossible de voir la duree du morceaux : erreur : %d", BASS_ErrorGetCode());
exit(EXIT_FAILURE);
}
/** les deux points viennent d'ici **/
printf("Temps total : %u:%02u\n\n", songTime / 60, songTime % 60);
/** les deux point sont imprimé dans le fichier **/
fprintf(fp, "%u:%01u", songTime / 60, songTime % 60);
g_signal_connect(GTK_BUTTON(buttonStop), "clicked", G_CALLBACK(Stop), NULL);
g_signal_connect(GTK_BUTTON(buttonPause), "clicked", G_CALLBACK(Pause), NULL);
g_signal_connect(GTK_BUTTON(buttonPlay), "clicked", G_CALLBACK(Play), NULL);
}
return;
} |
Partager