Вообще, существует масса способов воспроизвести музыку или видео используя VB.
Напрмер используя функции mciSendString, mciExecute или sndPlaySoundA.
Покладем на форму две кнопки и вставим такой код:
Option Explicit
' Декларируем функцию
Private Declare Function mciSendString Lib "winmm.dll" _
Alias "mciSendStringA" (ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, ByVal uRetrunLength _
As Long, ByVal hwndCallback As Long) As Long
' Воспроизводим файл
Private Sub Command1_Click()
dim strFile as String
' Загружаем файл
strFile = "C:\MyMusic.mp3" ' - это путь к музыкальному файлу.. .
Call mciSendString("open " & strFile & " alias music wait", "", 0, 0)
' воспроизводим
Call mciSendString("play music", "", 0, 0)
End Sub
' Останавливаем воспроизведение
Private Sub Command2_Click()
Call mciSendString("close all", "", 0, 0)
End Sub
Аналогично и для wav-файла, и для MIDI-файла и даже для всех одновременно (только в динамиках будет музыкальная каша...)
Другие языки программирования и технологии
Кто-нибудь знает, как запустить wav-файл из программы написанной на Visual Basic 6.0?
знаю. Можно тупо Api функциями. А ваще можень использовать контрол для воспроизведения.
Там есть какой-то специальный элемент для воспроизведения. Внешние его кнопочки можно скрыть и пользоваться командами "изнутри".
Attribute VB_Name = "modSound"
Option Explicit
'--------------------------------------------------------
Public Const SND_ASYNC = &H1
Public Const SND_MEMORY = &H4
Public Const SND_LOOP = &H8
Public Const SND_FILENAME = &H20000
Public Const SND_NODEFAULT = &H2
'--------------------------------------------------------
Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Public Sub LoadResSound(ByVal ResName, Optional ByVal ResType As String = "Wav", Optional ByVal sndLoop As Boolean = False)
On Error Resume Next
Dim sndBuff As String
sndBuff = StrConv(LoadResData(ResName, ResType), vbUnicode)
'----------
If sndLoop Then
Call PlaySound(sndBuff, 0&, SND_ASYNC Or SND_MEMORY Or SND_LOOP)
Else
Call PlaySound(sndBuff, 0&, SND_ASYNC Or SND_MEMORY)
End If
'----------
End Sub
Public Sub LoadFileSound(ByVal FileName As String, Optional ByVal sndLoop As Boolean = False)
'----------
If sndLoop Then
Call PlaySound(FileName, 0&, SND_ASYNC Or SND_LOOP Or SND_NODEFAULT)
Else
Call PlaySound(FileName, 0&, SND_ASYNC Or SND_FILENAME Or SND_NODEFAULT)
End If
'----------
End Sub
Option Explicit
'--------------------------------------------------------
Public Const SND_ASYNC = &H1
Public Const SND_MEMORY = &H4
Public Const SND_LOOP = &H8
Public Const SND_FILENAME = &H20000
Public Const SND_NODEFAULT = &H2
'--------------------------------------------------------
Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Public Sub LoadResSound(ByVal ResName, Optional ByVal ResType As String = "Wav", Optional ByVal sndLoop As Boolean = False)
On Error Resume Next
Dim sndBuff As String
sndBuff = StrConv(LoadResData(ResName, ResType), vbUnicode)
'----------
If sndLoop Then
Call PlaySound(sndBuff, 0&, SND_ASYNC Or SND_MEMORY Or SND_LOOP)
Else
Call PlaySound(sndBuff, 0&, SND_ASYNC Or SND_MEMORY)
End If
'----------
End Sub
Public Sub LoadFileSound(ByVal FileName As String, Optional ByVal sndLoop As Boolean = False)
'----------
If sndLoop Then
Call PlaySound(FileName, 0&, SND_ASYNC Or SND_LOOP Or SND_NODEFAULT)
Else
Call PlaySound(FileName, 0&, SND_ASYNC Or SND_FILENAME Or SND_NODEFAULT)
End If
'----------
End Sub
Похожие вопросы
- Как удалить строку из файла (Visual Basic 6.0)
- Уважаемые программисты, помогите (MS Visual Basic 6.0)
- у меня вопроскакого вида программы можно прописать с помощью visual basic 6.0&
- Помогите кретину! Знаю только Visual Basic 6.0
- А можно ли зарабатывать зная всего лишь Visual Basic 6.0
- люди подскажите где скачать учебник по visual basic 6.0 плизз (плиз прямую ссылку)
- Visual Basic 6.0. Как изменить значение Left=0 так, чтобы имелась ввиду правая сторона экрана, а не левая ?
- возможно настроить в visual basic 6.0 поддержку access 2003 ??
- Помогите решить задачи в Visual Basic 6.0
- Моему сыну (14 лет) порекомендовали учить БЕЙСИК, с чего начать, и нужен ли ему visual basic 6.0 ???