Другие языки программирования и технологии

Кто-нибудь знает, как запустить wav-файл из программы написанной на Visual Basic 6.0?

Вообще, существует масса способов воспроизвести музыку или видео используя 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-файла и даже для всех одновременно (только в динамиках будет музыкальная каша...)
Mamuka Apulava
Mamuka Apulava
51 917
Лучший ответ
знаю. Можно тупо Api функциями. А ваще можень использовать контрол для воспроизведения.
Там есть какой-то специальный элемент для воспроизведения. Внешние его кнопочки можно скрыть и пользоваться командами "изнутри".
BD
Bahrom Dusmuhamedov
11 880
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