Читайте также: |
|
Вы научились воспроизводить WAV-файлы средствами Windows API. Следующим шагом станет создание универсального класса WavePlayer, который можно будет включать в будущие проекты. Класс достаточно прост, но его легко расширить, например добавить возможность управления громкостью звука. Наш класс Wave Player содержит два свойства и один метод. Он создается следующим образом:
1. Создайте новый проект командой File > New Project. Выберите тип проекта Standard EXE.
2. Задайте свойству Name формы Form1 значение frmMain, а свойству Caption — значение WavePlayer.
3. Создайте кнопку на форме frmMain. Задайте ее свойству Name значение cmdPlay, а свойству Caption — значение &Воспроизвести.
4. Включите в класс новый модуль класса. Для этого щелкните правой кнопкой мыши в окне проекта и выполните команду Add > Class Module из контекстного меню.
5. В открывшемся диалоговом окне Add Class Module выберите значок Class Module и нажмите кнопку Open.
6. В окне свойств задайте свойству Name созданного класса значение WavePlayer.
7. Включите следующий фрагмент в секцию (General)(Declarations) класса WavePlayer:
Option Explicit
Private mFilename As String Private mFlags As Long
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal IpszSoundName As String, _ ByVal uFlags As Long) As Long
8. Добавьте следующие процедуры, образующие интерфейс к свойству Filename:
Public Property Get Filename() As String
filename = mFilename End Property
Public Property Let Filename(ByVal vNewValue As String)
mFilename = vNewValue End Property
9. Добавьте следующие процедуры, образующие интерфейс к свойству Flags:
Public Property Get Flags() As Long
Flags = mFlags End Property
Public Property Let Flags(ByVal vNewValue As Long)
mFlags = vNewValue End Property
10. Добавьте следующий фрагмент единственного метода класса:
Public Sub Play() Dim rc As Long
rc = sndPlaySound(mFilename, mFlags) End Sub
11. Сохраните проект. Если вы создали программную библиотеку в уроке 4, сохраните файл WavePlayer.cls в каталоге библиотеки, что упростит его повторное использование в будущем. Оставьте файл проекта в исходном каталоге.
12. Откройте окно программы для frmMain и перейдите в секцию (General) (Declarations).
13. Чтобы воспользоваться объектом WavePlayer, необходимо создать ссылку на него. Добавьте следующий фрагмент:
Option Explicit
Private wav As WavePlayer
14. Ссылка на объект имеется, теперь мы должны создать экземпляр указанного класса. Лучше всего сделать это в процедуре события Form_Load. Вставьте в процедуру следующий фрагмент:
Private Sub Form_Load()
Set wav = New WavePlayer End Sub
15. При завершении работы приложения объект WavePlayer необходимо уничтожить. Для этого вы присваиваете ему Nothing и таким образом освобождаете занимаемую им память. Вставьте следующий фрагмент в процедуру события Form_Unload:
Private Sub Form_Unload(Cancel As Integer)
Set wav = Nothing End Sub 16. Наконец, вставьте следующий фрагмент в процедуру события cmPlay_Click. В нем объект WavePlayer непосредственно воспроизводит WAV-файл:
Private Sub cmdPlay_Click() With wav
.Filename = App.Path & "\Tada.wav".Flags = 1.Play End With End Sub
ПРИМЕЧАНИЕ Перед запуском приложения скопируйте воспроизводимый файл (в нашем примере — tada.wav) в каталог проекта. При желании можно легко заменить этот файл любым другим, который вы хотите услышать.
7. Сохраните и запустите приложение.
Несмотря на свою простоту, этот пример показывает, как легко преобразовать автономную процедуру в объект с помощью модулей классов. Кроме того, класс WavePlayer можно будет использовать в ваших будущих проектах. Вам уже не придется запускать API Viewer или запоминать, какая функция воспроизводит WAV-зайлы. Достаточно включить класс WavePlayer в проект, и ваши приложения предстанут в совершенно новом свете!
Дата добавления: 2015-07-20; просмотров: 56 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
API Viewer | | | Использование элемента SysTray |