freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

linux環(huán)境下編譯arm上運(yùn)行的mplaye畢業(yè)設(shè)計(jì)畢業(yè)論文-資料下載頁

2025-06-20 12:55本頁面
  

【正文】 Msg)。 song_down()。 } else if(=170 amp。amp。 =180 amp。amp。 =105amp。amp。 =111) { write(fd,seek 15\n,strlen(seek 15\n))。 } else if(=140 amp。amp。 =150 amp。amp。 =105amp。amp。 =111) { write(fd,seek 15\n,strlen(seek 15\n))。 } else if(=190 amp。amp。 =310amp。amp。 =30amp。amp。 =235) { song_addr=()/20。 touch_song()。 } }}Funname: 子功能 觸點(diǎn)歌曲void touch_song(void){ char song_tmp[50]。 ptint_song_list(song_addr)。 strcpy(song_tmp,loadfile ./song/)。 strcat(song_tmp,song_list[song_addr])。 strcat(song_tmp,\n)。 write(fd,song_tmp,strlen(song_tmp))。}歌曲信息《》char buf_str[2000]。char *fn。char str_1[500]。char *file_name。int int_total_time。char total[3]。sem_t sem_read,sem_dispose。void *song_message(void *arg){ int fd=open(./myfifo,O_WRONLY)。 while(1) { usleep(500*1000)。 if(flag) { usleep(10*1000)。 write(fd,get_file_name\n,strlen(get_file_name\n))。 usleep(10*1000)。 write(fd,get_meta_album\n,strlen(get_meta_album\n))。 usleep(10*1000)。 write(fd,get_meta_artist\n,strlen(get_meta_artist\n))。 usleep(10*1000)。 write(fd,get_meta_ment\n,strlen(get_meta_ment\n))。 usleep(10*1000)。 write(fd,get_meta_genre\n,strlen(get_meta_genre\n))。 usleep(10*1000)。 write(fd,get_meta_title\n,strlen(get_meta_title\n))。 usleep(10*1000)。 write(fd,get_meta_year\n,strlen(get_meta_year\n))。 usleep(10*1000)。 write(fd,get_time_length\n,strlen(get_time_length\n))。 usleep(10*1000)。 write(fd,get_time_pos\n,strlen(get_time_pos\n))。 } }}Funname: 從管道里讀取歌曲信息歌曲名,專輯,歌手,發(fā)行年份,當(dāng)前時(shí)間顯示到界面void *read_message(void *arg){ while(1) { sem_wait(amp。sem_read)。 memset(buf_str,0,sizeof(buf_str))。 read((int)arg,buf_str,sizeof(buf_str))。 sem_post(amp。sem_dispose)。 }}Funname: 從管道里讀取歌曲信息歌曲名,專輯,歌手,發(fā)行年份void *pipe_dispose(void *arg){ TFT_ClearWindow(Window_Msg)。 while(1) { sem_wait(amp。sem_dispose)。 if((file_name = strstr(buf_str,ANS_FILENAME))!=NULL) { memset(str_1,0,sizeof(str_1))。 strcat(str_1,strstr(file_name,=)+1)。 fn=strtok(str_1,39。)。 TFT_SetTextPos(Window_Msg,0,0)。 TFT_Print(Window_Msg, Song:%s\n,fn)。 } if((file_name = strstr(buf_str,ANS_META_ALBUM))!=NULL) { memset(str_1,0,sizeof(str_1))。 strcat(str_1,strstr(file_name,=)+1)。 fn=strtok(str_1,39。)。 TFT_SetTextPos(Window_Msg,0,14)。 TFT_Print(Window_Msg, Album:%22s\n,fn)。 } if((file_name = strstr(buf_str,ANS_META_ARTIST))!=NULL) { memset(str_1,0,sizeof(str_1))。 strcat(str_1,strstr(file_name,=)+1)。 fn=strtok(str_1,39。)。 TFT_SetTextPos(Window_Msg,0,28)。 TFT_Print(Window_Msg,Artist:%22s\n,fn)。 } if((file_name = strstr(buf_str,ANS_META_YEAR))!=NULL) { memset(str_1,0,sizeof(str_1))。 strcat(str_1,strstr(file_name,=)+1)。 fn=strtok(str_1,39。)。 TFT_SetTextPos(Window_Msg,0,42)。 TFT_Print(Window_Msg, Year:%22s\n,fn)。 } if((file_name = strstr(buf_str,ANS_LENGTH))!=NULL) { memset(str_1,0,sizeof(str_1))。 strcat(str_1,strstr(file_name,=)+1)。 fn=strtok(str_1,\n)。 int_total_time=atoi(fn)。 TFT_SetTextPos(Window_time_total,0,0)。 TFT_Print(Window_time_total, Now time:%d : %d\n,int_total_time/60,int_total_time%60)。 } if((file_name = strstr(buf_str,ANS_TIME_POSITION))!=NULL) { TFT_ClearWindow(Window_time_now)。 memset(str_1,0,sizeof(str_1))。 strcat(str_1,strstr(file_name,=)+1)。 fn=strtok(str_1,\n)。 int_now_time=atoi(fn)。 TFT_SetTextPos(Window_time_now,0,0)。 TFT_Print(Window_time_now, Now time:%d : %d\n,int_now_time/60,int_now_time%60)。 if(int_now_time=int_total_time4) { TFT_ClearWindow(Window_Msg)。 song_down()。 } TFT_Line(Window_rate, 0, 2, (180/(float)int_total_time)*(float )int_now_time,2 )。 } sem_post(amp。sem_read)。 }}歌詞解析及顯示《》void *lrc_display(void *arg){ TIME *head,*p。 char *ch[80]={NULL}。 int result,num,msg_num。 char *str。 char str_lrc[50],st_song[50],temp1[50],temp2[50]。 int lrc_flag。 while(1) { memset(ch,0,80)。 head=NULL。 result=1。 result=1。 match_lrc_addr=0。 memset(st_song,0,50)。 memset(temp1,0,50)。 strcpy(temp2,./song/)。 //tmp2=./song/ strcpy(st_song,song_list[song_addr])。 strtok(st_song,.)。 // while(lrc_list[match_lrc_addr]!=NULL)//判斷是否有LRC文件 { memset(str_lrc,0,50)。 strcpy(str_lrc,lrc_list[match_lrc_addr])。//str_lrc=lrc_list[match_lrc_addr] strtok(str_lrc,.)。// result=strcmp(st_song,str_lrc)。 if(result==0)//開始匹配 { break。 } match_lrc_addr++。 //指向下一個(gè)lrc文件 } if(lrc_list[match_lrc_addr]!=NULL)//判斷是否有LRC文件 { strcpy(temp1,lrc_list[match_lrc_addr])。 num=strlen(temp1)。 //num=歌曲名addr temp1[num]=39。\039。 //將歌詞置零 strcat(temp2,temp1)。 //tmp2=./song/\0 str=read_lrc(temp2)。 //打開lrc文件讀取信息 strtok_music(str,ch)。 //把str指向的歌詞切割,一行一行放在指針數(shù)組里*ch[n] msg_num=strtok_title(ch)。//除去信息,獲得哪一行數(shù) head=strtok_time(ch,head,msg_num)。//獲得歌詞信息 p=head。 time_time(ch,head)。 } else { lrc_flag=song_addr。 TFT_ClearWindow(Window_lrc)。 TFT_SetTextPos(Window_lrc,10,0)。 TFT_SetColor(Window_lrc,COLOR_RED)。 TFT_Print(Window_lrc,Can39。t find right lrc\n)。 while(lrc_flag==song_addr)。 } } return NULL。}funname: 去掉歌詞內(nèi)的歌曲信息ti:ar:al:by:.....int strtok_title(char *ch[]){ int n,num=0。 char *str2[5]。 char str1[30]。 char *p1=]。 char *str[4]。 while((strstr(ch[num],.)==NULL))//判斷一行中是否存在.[03:],沒有找到時(shí)間中存在的.,則指向下一行 num++。 for(n=0。n4。n++) // { str[n]=strcpy(str1,ch[n]+4)。 //把切到得指針數(shù)組從后面 str2[n]=strtok(str[n],p1)。 } return num。 }Funname:切割歌詞void strtok_music(char *str, char *ch[]){ char *p1=\n\r。 char *str2。 char *str1。 int n=0。 str1=str。 //把獲得所有的歌詞給str1 str2=strtok(str1,p1)。
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1