zoukankan      html  css  js  c++  java
  • vlc 的代码里面只有解析 标准 m3u 文件的代码

    //Open and parse a M3U file:
    int M3U_open(char *fileName){
        FILE *f;
        char lineText[512];
        char chrLength[20];
        char title[264];
        struct M3U_songEntry *singleEntry;
        int playListCount = lPlayList.songCount;
     
        f = fopen(fileName, "rt");
        if (f == NULL){
            //Error opening file:
            return(-1);
        }
     
        while(fgets(lineText, 256, f) != NULL){
            if (!strncmp(lineText, "#EXTINF:", 8)){
                //Length and title:
                splitSongInfo(lineText, chrLength, title);
            }else if (!strncmp(lineText, "#EXTM3U", 7)){
                //Nothing to do. :)
            }else if (strlen(lineText) > 2){
                //Store song info:
                singleEntry = &lPlayList.songs[playListCount++];
                strncpy(singleEntry->fileName, lineText, 263);
                singleEntry->fileName[263] = '\0';
                if ((int)singleEntry->fileName[strlen(singleEntry->fileName) - 1] == 10 || (int)singleEntry->fileName[strlen(singleEntry->fileName) - 1] == 13 ){
                    singleEntry->fileName[strlen(singleEntry->fileName) - 1] = '\0';
                }
                if ((int)singleEntry->fileName[strlen(singleEntry->fileName) - 1] == 10 || (int)singleEntry->fileName[strlen(singleEntry->fileName) - 1] == 13 ){
                    singleEntry->fileName[strlen(singleEntry->fileName) - 1] = '\0';
                }
     
                if (strlen(title)){
                    strncpy(singleEntry->title, title, 263);
                }else{
                    getFileName(singleEntry->fileName, singleEntry->title);
                }
                singleEntry->title[263] = '\0';
                singleEntry->length = atoi(chrLength);
                if (playListCount == MAX_SONGS){
                    break;
                }
            }
        }
        fclose(f);
     
        lPlayList.modified = 0;
        lPlayList.songCount = playListCount;
        strcpy(lPlayList.fileName, fileName);
        return(0);
    }
  • 相关阅读:
    WebView
    dpdpipxptem单位长度理解
    js跨域访问
    JS&CSS压缩工具YUICompressor
    IIS7.5站点配置
    Jscript运行时错误:没有权限
    控制HttpContext为null
    JSON数组成员反序列化
    Linux 系统默认运行级别设定
    环境搭建常用工具
  • 原文地址:https://www.cnblogs.com/canphp/p/2788754.html
Copyright © 2011-2022 走看看