ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Відтворення Wave-файлів під MFC
         

     

    Інформатика, програмування

    Відтворення Wave-файлів під MFC

    1. Введення

    У цій главі ми створимо програму, що програє WAVE-файли. Для початку створимо проект mysound в діалоговому режимі з використанням MFC. У початок файлу mysoundDlg.cpp треба написати # include , але це не все, а тепер саме головне (якщо це не зробити, то буде помилка при лінкування):

    1. Виберіть Project -> Settings ... -> C/C + + -> Code Generation і поставте Multithreaded DLL

    2. Виберіть Project -> Settings ... -> Link -> General та поставте в полі Object/Library modules бібліотеку winmm.lib (це дуже важливо, перевірте!)

    2. Відтворення Wave-файла у вигляді ресурсу

    Насамперед треба створити ресурс, для цього у файлі mysound.rc2 треба вписати рядок IDSOUND_CORRECT sound rescorrect.wav, де IDSOUND_CORRECT - індефікатор ресурсу, sound - тип ресурсу (назву можна змінювати), rescorrect.wav - файл ресурсу. Після цього у файлі Resource.h треба зареєструвати ресурс: # define IDSOUND_CORRECT 130. Число 130 не повинно збігатися з іншими числами.

    Як тільки ресурс зареєстрований можна написати в фото mysoundDlg.cpp функції програвання цього ресурсу:

    static void PlayResource (LPCTSTR lpszSound) (HRSRC hRes;// resource handle to wave file HGLOBAL hData; BOOL bOk = FALSE; if ((hRes = :: FindResource (AfxGetResourceHandle (), lpszSound, _T ( "sound")))! = NULL & &

    (hData =:: LoadResource (AfxGetResourceHandle (), hRes))! = NULL) (

    // found the resource, play it bOk = sndPlaySound ((LPCTSTR):: LockResource (hData), SND_MEMORY | SND_SYNC | SND_NODEFAULT); FreeResource (hData);) if (! BOk) (AfxMessageBox ( "ERROR! Can not play the sound.

    nNot find sound board !!!");)) inline static void PlayResource (UINT nIDS) ( PlayResource (MAKEINTRESOURCE (nIDS));)

    У Функція :: FindResource (AfxGetResourceHandle (), lpszSound, _T ( "sound")) третій параметр - тип ресурсу, який був описаний вище.

    Тепер можна програти ресурс: PlayResource ( IDSOUND_CORRECT);

    3. Відтворення Wave-файлу з диска

    Для програвання WAVE-файлу з диску можна використовувати функцію:

    BOOL sndPlaySound (LPCTSTR lpszSoundName;

    UINT fuOptions; ); Параметри функції:

    lpszSoundName Назва файлу. Якщо цей параметр NULL,

    то програвання файлу зупиняється. fuOptions

    Спеціальні опції для програвання музики.

    Вони можуть бути наступними:

    Значення Опис

    SND_SYNC Музика грається синхронно, і функція

    не возвращает покажчик поки не буде кінця файлу.

    SND_ASYNC Музика грається асинхронно, і функція

    повертає вказівник відразу після початку

    програвання файлу. Щоб зупинити програвання,

    треба викликати функцію SndPlaySound з параметром

    lpszSoundName встановленим в NULL.

    SND_NODEFAULT Якщо файл не знайдено, то функція

    повертає вказівник одразу і не

    програє стандартний звуковий ефект Windows.

    SND_MEMORY Цей параметр потрібний для програвання

    Wave-файла у вигляді ресурсу (з пам'яті).

    SND_LOOP Цей параметр потрібний для програвання

    Wave-файла в циклічному режимі. Також

    при цьому ви повинні використовувати вологи SND_ASYNC.

    Щоб зупинити програвання, треба викликати

    функцію SndPlaySound з параметром

    lpszSoundName встановленим в NULL.

    SND_NOSTOP Якщо музика вже програється,

    функція возврвщает FALSE.

    що повертається значення: Якщо музика програється

    правильно, то функція возврвщает TRUE, інакше FALSE.

    Приклад використання: B

    OOL bOk = sndPlaySound ( "test.wav", SND_SYNC);

    if (! bOk) ( AfxMessageBox

    ( "Error! Can not play the sound. !!!");)

    Список літератури

    Для підготовки даної роботи були використані матеріали з сайту http://www.realcoding.net/

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status