91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-07-10
  • 語言: 其他
  • 標簽:

資源簡介

本資源可以實現應用madplay在linux環境下應用雙向鏈表實現MP3播放器制作,應用進程它可以實現歌曲上下切換,停止,繼續

資源截圖

代碼片段和文件信息

/******************************************************
*******************************************************
?
********************物聯網1403*************************?
****************MP3工程小隊制作?***********************?
*******************************************************?

*******************************************************?
*******************************************************/?
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

#include??????????????????????????????
#include?????????????????????

pid_t?fd;
char?*p_addr;
int?flag=2;
pid_t?pid;
int?play_flag=1;
struct?song
{
char?songname[64];
struct?song?*prev;
struct?song?*next;
};

struct?song?*nextsong;
struct?song?*prevsong;

struct?song?*creat_list(void)
{
FILE?*fd;
size_t?size;
size_t?len;
char?*line=NULL;
struct?song?*head;
struct?song?*p1;
struct?song?*p2;
system(“ls?/home/Keshe/song?>?song_list“);
fd=fopen(“song_list““r“);
p1=(struct?song?*)malloc(sizeof(struct?song));

//

size=getline(&line&lenfd);
strncpy(p1->songnamelinestrlen(line));
head=p1;
while((size=getline(&line&lenfd))!=-1)
{
p2=p1;
p1=(struct?song?*)malloc(sizeof(struct?song));
strncpy(p1->songnamelinestrlen(line));
p2->next=p1;
p1->prev=p2;
}
p1->next=head;
head->prev=p1;
p1=NULL;
p2=NULL;
system(“rm?-rf?song_list“);
return?head;

}

void?sig_handler(int?signo)
{
char?*p;
int?len;
char?my_song[64]=“/home/Keshe/song/“;
if(signo==SIGCHLD&&flag!=2)
{
if(flag==0)
{
printf(“The?mp3?player?is?stop!\n“);
}
else?if(flag==1)
{
printf(“The?mp3?player?is?continue!\n“);
}
else?if(flag==3)
{
printf(“Playing?next?song!\n“);
}
else?if(flag==4)
{
printf(“Playing?prev?song!\n“);
}
else?
{
printf(“Exit?the?system!\n“);
}

flag=2;
}
else?if(flag==2)
{
printf(“NEXT?SONG!\n“);
pid=fork();
if(pid<0)
{
perror(“ERROR!“);
}
else?if(pid==0)
{

strcat(my_songnextsong->songname);
p=my_song;
len=strlen(p);
my_song[len-1]=‘\0‘;
printf(“PLAYING?:%s\n“nextsong->songname);
execlp(“madplay““madplay““-q“my_songNULL);
}
else
{

prevsong=nextsong->prev;
nextsong=nextsong->next;
printf(“THE?NEXT?SONG?IS?:%s\n“nextsong->songname);
}
}
}

void?play(struct?song?*currentsong)
{
int?len;
char?*p;
char?*c_addr;
char?my_song[64]=“/home/Keshe/song/“;

pid=fork();
if(pid==-1)
{
perror(“fork“);
exit(1);
}
else?if(pid==0)
{
strcat(my_songcurrentsong->songname);
p=my_song;
len=strlen(p);

my_song[len-1]=‘\0‘;
printf(“PLAYING?:%s\n“currentsong->songname);
execlp(“madplay““madplay““-q“my_songNULL);
// perror(“Music?play!“);
}
else
{
nextsong=currentsong->next;
prevsong=currentsong->prev;
// if(pid==wait(NULL))
// currentsong=currentsong->n

評論

共有 條評論

相關資源