аудио данные?Мне нужен типичный пример - PullRequest
0 голосов
/ 13 ноября 2011

Я просмотрел предопределенные форматы буфера обмена, и один необъяснимый для меня - двоичный формат Audio Stream, я не знаю, что копировать, чтобы в моем буфере обмена был фрагмент двоичных аудиоданных.В C # и управляемом C ++ класс буфера обмена также имеет этот формат.Не могли бы вы объяснить и привести пример (ы) этого типа данных.Также мне интересно, почему просто нет какого-либо формата видеоданных.Спасибо

1 Ответ

0 голосов
/ 13 ноября 2011

Формат буфера обмена CF_WAVE - это просто файл .wav.Если вы загружаете WAV-файл в память, вы можете скопировать его в буфер обмена с помощью следующего кода:

                DWORD BytesRead;
            void* pFData = GlobalLock(hFData);
            if (ReadFile(hFile,pFData,GetFileSize(hFile,NULL),&BytesRead,NULL) == FALSE)
            {
                ErrCode = E_FILE_READ;
            }
            GlobalUnlock(hFData);

...

        if (OpenClipboard(NULL))
    {
        EmptyClipboard();
        if (SetClipboardData(CF_WAVE,hFData) == NULL)
        {
            GlobalFree(hFData);
        }
        CloseClipboard();
    }
    else
    {

Здесь hFileдескриптор файла.

...