⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qcdmp4.c

📁 BHE的解码程序
💻 C
📖 第 1 页 / 共 5 页
字号:
//            wsprintf(dummy1, "%d", dummy2);
//            SetDlgItemText(hwndDlg,IDC_METADISK2, dummy1);
//        }
//
//        pVal = NULL;
//        if (MP4GetMetadataYear(file, &pVal))
//            uSetDlgItemText(hwndDlg,IDC_METAYEAR, pVal);
//
//        dummy3 = 0;
//        MP4GetMetadataCompilation(file, &dummy3);
//        if (dummy3)
//            SendMessage(GetDlgItem(hwndDlg, IDC_METACOMPILATION), BM_SETCHECK, BST_CHECKED, 0);
//
//        /* ! Metadata */
//
//        MP4Close(file);
//
//        return TRUE;
//
//    case WM_COMMAND:
//        switch (LOWORD(wParam)) {
//        case IDCANCEL:
//            EndDialog(hwndDlg, wParam);
//            return TRUE;
//        case IDOK:
//
//            /* save Metadata changes */
//
//            tag_delete(&tags);
//            file = MP4Read(info_fn, 0);
//            if (file != MP4_INVALID_FILE_HANDLE)
//            {
//                ReadMP4Tag(file, &tags);
//                MP4Close(file);
//
//                file = MP4Modify(info_fn, 0, 0);
//                if (file != MP4_INVALID_FILE_HANDLE)
//                {
//                    MP4MetadataDelete(file);
//                    MP4Close(file);
//                }
//            }
//
//            file = MP4Modify(info_fn, 0, 0);
//            if (file == MP4_INVALID_FILE_HANDLE)
//            {
//                tag_delete(&tags);
//                EndDialog(hwndDlg, wParam);
//                return FALSE;
//            }
//
//            uGetDlgItemText(hwndDlg, IDC_METANAME, dummy1, 1024);
//            tag_set_field(&tags, "title", dummy1);
//
//            uGetDlgItemText(hwndDlg, IDC_METAWRITER, dummy1, 1024);
//            tag_set_field(&tags, "writer", dummy1);
//
//            uGetDlgItemText(hwndDlg, IDC_METAARTIST, dummy1, 1024);
//            tag_set_field(&tags, "artist", dummy1);
//
//            uGetDlgItemText(hwndDlg, IDC_METAALBUM, dummy1, 1024);
//            tag_set_field(&tags, "album", dummy1);
//
//            uGetDlgItemText(hwndDlg, IDC_METACOMMENTS, dummy1, 1024);
//            tag_set_field(&tags, "comment", dummy1);
//
//            uGetDlgItemText(hwndDlg, IDC_METAGENRE, dummy1, 1024);
//            tag_set_field(&tags, "genre", dummy1);
//
//            uGetDlgItemText(hwndDlg, IDC_METAYEAR, dummy1, 1024);
//            tag_set_field(&tags, "year", dummy1);
//
//            GetDlgItemText(hwndDlg, IDC_METATRACK1, dummy1, 1024);
//            dummy = atoi(dummy1);
//            GetDlgItemText(hwndDlg, IDC_METATRACK2, dummy1, 1024);
//            dummy2 = atoi(dummy1);
//            wsprintf(temp, "%d/%d", dummy, dummy2);
//            tag_set_field(&tags, "track", temp);
//
//            GetDlgItemText(hwndDlg, IDC_METADISK1, dummy1, 1024);
//            dummy = atoi(dummy1);
//            GetDlgItemText(hwndDlg, IDC_METADISK2, dummy1, 1024);
//            dummy2 = atoi(dummy1);
//            wsprintf(temp, "%d/%d", dummy, dummy2);
//            tag_set_field(&tags, "disc", temp);
//
//            GetDlgItemText(hwndDlg, IDC_METATEMPO, dummy1, 1024);
//            tag_set_field(&tags, "tempo", dummy1);
//
//            dummy3 = SendMessage(GetDlgItem(hwndDlg, IDC_METACOMPILATION), BM_GETCHECK, 0, 0);
//            tag_set_field(&tags, "compilation", (dummy3 ? "1" : "0"));
//
//            WriteMP4Tag(file, &tags);
//
//            MP4Close(file);
//
//            MP4Optimize(info_fn, NULL, 0);
//            /* ! */
//
//            EndDialog(hwndDlg, wParam);
//            return TRUE;
//        }
//    }
//    return FALSE;
//}
//
///* returns the name of the object type */
//char *get_ot_string(int ot)
//{
//    switch (ot)
//    {
//    case 0:
//        return "Main";
//    case 1:
//        return "LC";
//    case 2:
//        return "SSR";
//    case 3:
//        return "LTP";
//    }
//    return NULL;
//}
//
//BOOL CALLBACK aac_info_dialog_proc(HWND hwndDlg, UINT message,
//                                   WPARAM wParam, LPARAM lParam)
//{
//    faadAACInfo aacInfo;
//    char *info_text, *header_string;
//
//#ifdef DEBUG_OUTPUT
//    in_mp4_DebugOutput("aac_info_dialog_proc");
//#endif
//
//    switch (message) {
//    case WM_INITDIALOG:
//        EnableWindow(GetDlgItem(hwndDlg,IDC_USERDATA), FALSE) ;
//        ShowWindow(GetDlgItem(hwndDlg,IDC_USERDATA), SW_HIDE);
//
//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC1), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC2), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC3), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC4), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC5), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC6), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC7), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC8), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC9), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC10), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC11), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC12), SW_HIDE);
//
//        ShowWindow(GetDlgItem(hwndDlg,IDC_METANAME), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_METAARTIST), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_METAWRITER), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_METACOMMENTS), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_METAALBUM), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_METAGENRE), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_METATEMPO), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_METATRACK1), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_METATRACK2), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_METADISK1), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_METADISK2), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_METAYEAR), SW_HIDE);
//        ShowWindow(GetDlgItem(hwndDlg,IDC_METACOMPILATION), SW_HIDE);
//
//        info_text = malloc(1024*sizeof(char));
//
//        get_AAC_format(info_fn, &aacInfo);
//
//        switch (aacInfo.headertype)
//        {
//        case 0: /* RAW */
//            header_string = " RAW";
//            break;
//        case 1: /* ADIF */
//            header_string = " ADIF";
//            break;
//        case 2: /* ADTS */
//            header_string = " ADTS";
//            break;
//        }
//
//        sprintf(info_text, "%s AAC %s%s, %d sec, %d kbps, %d Hz",
//            (aacInfo.version==2)?"MPEG-2":"MPEG-4", get_ot_string(aacInfo.object_type),
//            header_string,
//            (int)((float)aacInfo.length/1000.0), (int)((float)aacInfo.bitrate/1000.0+0.5),
//            aacInfo.sampling_rate);
//
//        SetDlgItemText(hwndDlg, IDC_INFOTEXT, info_text);
//
//        free(info_text);
//
//        return TRUE;
//
//    case WM_COMMAND:
//        switch (LOWORD(wParam))
//        {
//        case IDC_CONVERT:
//            {
//                char mp4FileName[256];
//                char *extension;
//                OPENFILENAME ofn;
//
//                lstrcpy(mp4FileName, info_fn);
//                extension = strrchr(mp4FileName, '.');
//                lstrcpy(extension, ".mp4");
//
//                memset(&ofn, 0, sizeof(OPENFILENAME));
//                ofn.lStructSize = sizeof(OPENFILENAME);
//                ofn.hwndOwner = hwndDlg;
//                ofn.hInstance = module.hDllInstance;
//                ofn.nMaxFileTitle = 31;
//                ofn.lpstrFile = (LPSTR)mp4FileName;
//                ofn.nMaxFile = _MAX_PATH;
//                ofn.lpstrFilter = "MP4 Files (*.mp4)\0*.mp4\0";
//                ofn.lpstrDefExt = "mp4";
//                ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY;
//                ofn.lpstrTitle = "Select Output File";
//
//                if (GetSaveFileName(&ofn))
//                {
//                    if (covert_aac_to_mp4(info_fn, mp4FileName))
//                    {
//                        MessageBox(hwndDlg, "An error occured while converting AAC to MP4!", "An error occured!", MB_OK);
//                        return FALSE;
//                    }
//                }
//                return TRUE;
//            }
//        case IDCANCEL:
//        case IDOK:
//            EndDialog(hwndDlg, wParam);
//            return TRUE;
//        }
//    }
//    return FALSE;
//}
//
//int infoDlg(char *fn, HWND hwndParent)
//{
//    if(!stricmp(fn + strlen(fn) - 3,"AAC"))
//    {
//        lstrcpy(info_fn, fn);
//
//        DialogBox(module.hDllInstance, MAKEINTRESOURCE(IDD_INFO),
//            hwndParent, aac_info_dialog_proc);
//    } else {
//        lstrcpy(info_fn, fn);
//
//        DialogBox(module.hDllInstance, MAKEINTRESOURCE(IDD_INFO),
//            hwndParent, mp4_info_dialog_proc);
//    }
//
//    return 0;
//}
//
///* Get the title from the file */
//void ConstructTitle(MP4FileHandle file, char *filename, char *title, char *format)
//{
//    char temp[4096];
//    int some_info = 0;
//    char *in = format;
//    char *out = temp;//title;
//    char *bound = out + sizeof(temp) - 256; //out + (MAX_PATH - 10 - 1);
//    char *pVal, dummy1[1024];
//    short dummy, dummy2;
//
//    while (*in && out < bound)
//    {
//        switch (*in)
//        {
//        case '%':
//            ++in;
//            break;
//
//        default:
//            *out++ = *in++;
//            continue;
//        }
//
//        /* handle % escape sequence */
//        switch (*in++)
//        {
//        case '0':
//            dummy = 0; dummy2 = 0;
//            if (MP4GetMetadataTrack(file, &dummy, &dummy2))
//            {
//                out += wsprintf(out, "%d", (int)dummy);
//                some_info = 1;
//            }
//            break;
//
//        case '1':
//            pVal = NULL;
//            if (MP4GetMetadataArtist(file, &pVal))
//            {
//                out += wsprintf(out, "%s", pVal);
//                some_info = 1;
//            }
//            break;
//
//        case '2':
//            pVal = NULL;
//            if (MP4GetMetadataName(file, &pVal))
//            {
//                out += wsprintf(out, "%s", pVal);
//                some_info = 1;
//            }
//            break;
//
//        case '3':
//            pVal = NULL;
//            if (MP4GetMetadataAlbum(file, &pVal))
//            {
//                out += wsprintf(out, "%s", pVal);
//                some_info = 1;
//            }
//            break;
//
//        case '4':
//            pVal = NULL;
//            if (MP4GetMetadataYear(file, &pVal))
//            {
//                out += wsprintf(out, "%s", pVal);
//                some_info = 1;
//            }
//            break;
//
//        case '5':
//            pVal = NULL;
//            if (MP4GetMetadataComment(file, &pVal))
//            {
//                out += wsprintf(out, "%s", pVal);
//                some_info = 1;
//            }
//            break;
//
//        case '6':
//            pVal = NULL;
//            if (MP4GetMetadataGenre(file, &pVal))
//            {
//                out += wsprintf(out, "%s", pVal);
//                some_info = 1;
//            }
//            break;
//
//        case '7':
//            {
//                const char *p=strrchr(filename,'\\');
//                if (!p) p=filename; else p++;
//                out += ConvertANSIToUTF8(p, out);
//                some_info = 1;
//                break;
//            }
//
//        default:
//            break;
//        }
//    }
//
//    *out = '\0';
//
//    if (!some_info)
//    {
//        char *p=filename+lstrlen(filename);
//        while (*p != '\\' && p >= filename) p--;
//        lstrcpy(title,++p);
//    }
//    else
//    {
//        int len = ConvertUTF8ToANSI(temp, dummy1);
//        if (len > (MAX_PATH - 10 - 1)) len = (MAX_PATH - 10 - 1);
//        memcpy(title, dummy1, len);
//        title[len] = '\0';
//    }
//}

BOOL CALLBACK config_dialog_proc(HWND hwndDlg, UINT message,
                                 WPARAM wParam, LPARAM lParam)
{
    int i;

    switch (message) {
    case WM_INITDIALOG:
        SendMessage(GetDlgItem(hwndDlg, IDC_PRIORITY), TBM_SETRANGE, TRUE, MAKELONG(1,5));
        SendMessage(GetDlgItem(hwndDlg, IDC_PRIORITY), TBM_SETPOS, TRUE, m_priority);
        SendMessage(GetDlgItem(hwndDlg, res_id_table[m_resolution]), BM_SETCHECK, BST_CHECKED, 0);
        if (m_show_errors)
            SendMessage(GetDlgItem(hwndDlg, IDC_ERROR), BM_SETCHECK, BST_CHECKED, 0);
        if (m_use_for_aac)
            SendMessage(GetDlgItem(hwndDlg, IDC_USEFORAAC), BM_SETCHECK, BST_CHECKED, 0);
        if (m_downmix)
            SendMessage(GetDlgItem(hwndDlg, IDC_DOWNMIX), BM_SETCHECK, BST_CHECKED, 0);
        if (m_vbr_display)
            SendMessage(GetDlgItem(hwndDlg, IDC_VBR), BM_SETCHECK, BST_CHECKED, 0);
        SetDlgItemText(hwndDlg, IDC_TITLEFORMAT, titleformat);
        return TRUE;

    case WM_COMMAND:
        switch (LOWORD(wParam)) {
        case IDCANCEL:
            EndDialog(hwndDlg, wParam);
            return TRUE;
        case IDOK:
            m_show_errors = SendMessage(GetDlgItem(hwndDlg, IDC_ERROR), BM_GETCHECK, 0, 0);
            m_use_for_aac = SendMessage(GetDlgItem(hwndDlg, IDC_USEFORAAC), BM_GETCHECK, 0, 0);
            m_downmix = SendMessage(GetDlgItem(hwndDlg, IDC_DOWNMIX), BM_GETCHECK, 0, 0);
            m_vbr_display = SendMessage(GetDlgItem(hwndDlg, IDC_VBR), BM_GETCHECK, 0, 0);
            GetDlgItemText(hwndDlg, IDC_TITLEFORMAT, titleformat, MAX_PATH);

            m_priority = SendMessage(GetDlgItem(hwndDlg, IDC_PRIORITY), TBM_GETPOS, 0, 0);
            for (i = 0; i < 6; i++)
            {
                if (SendMessage(GetDlgItem(hwndDlg, res_id_table[i]), BM_GETCHECK, 0, 0))
                {
                    m_resolution = i;
                    break;
                }
            }

            /* save config */
            config_write();

            //if (!m_use_for_aac)
            //{
            //    module.FileExtensions = short_ext_list;
            //} else {
            //    module.FileExtensions = long_ext_list;
            //}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -