Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как воспроизвести звук

518
12 июля 2004 года
Andreika
101 / / 14.02.2003
Как на VB воспроизвести хоть какой нибудь звук. Любой. В виде файла midi или wav, или хотя бы системный звук для Винды, Ну один из тех, что настраиваются в панели управления и звучат при различных событиях (открытие окон, месаджБоксы и т.д.) Короче, как заставить VB издать хоть какой нибудь звук. Только не Beep, а нормальный?
258
12 июля 2004 года
SergeySV
1.5K / / 19.03.2003
Вот, когда-то нарыл, уже не помню когда:
Код:
Как воспроизвести звук и видео
'Вариант 1
Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Private Sub Form_Click()
Dim res
res = mciExecute("Play C:\Путь_до_файла")
End Sub
'Вообще, для того, что бы воспроизвести аудио или видео файл, можно воспользоваться элементом управления Microsoft Multimedia Control, но при этом вместе с вашим приложением придется таскать файл MCI32.OCX, а это лишних 193 кб, приведенный же выше код гораздо меньше. Прим. все вышесказанное касается только тех случаев, когда вам необходимо просто проиграть какой-то звуковой файл из программы.
'Вариант 2
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Private Sub Form_Load()
Dim x As Long
x = PlaySound("C:\Путь_до_файла", 0, &H1 Or &H10)
End Sub
'Вариант 3
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Private Sub Form_Load()
Dim x As Long
x = sndPlaySound("C:\Путь_до_файла", &H1 Or &H10)
End Sub
Первый параметр, lpszSound, представляет собой имя WAV-файла, который вы хотите проиграть.
Второй параметр, fuSound, содержит одну из следующих констант, которые передают Windows простые команды.
SND_SYNC 0x0000 Играть синхронно (по умолчанию)
SND_ASYNC 0x0001 Играть несинхронно
SND_NODEFAULT 0x0002 Не использовать звук, предпологающийся по умолчанию
SND_MEMORY 0x0004 Первый параметр - файл памяти
SND_LOOP 0x0008 Проигрывать звук в цикле до следующего обращения к sndPlaySound
SND_NOSTOP 0x0010 Не прекращать проигрывать текущий звук
Возвращаемое значение
Возвращает TRUE, при успешном выполнении, в обратном случае FALSE
Параметры функции: 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.
81K
14 мая 2012 года
merkurj
7 / / 11.05.2012
Самый простой вариант, который собственно я и использую это
1. Внедрить в проект звуковой файл в формате .wav
это делаеться так : в окне "обозреватель решений" кликаем иконку "показать все файлы" в появившемся списке выбираем "Resources.resx" кликаем на него два раза в отккрывшемся окне нажимаем "Ctrl + 4" и жмем "Добавить ресурс" ну и собственно выбираете файл

2. Воспроизвести внедренный звук:
Пример процедуры

 
Код:
Public Sub playSound ()
' воспроизведение звука
My.Computer.Audio.Play(My.Resources.File_Name, AudioPlayMode.Background)
' File_Name - это имя файла без расширения РЕГИСТР ВАЖЕН!
End Sub
Теперь, в том месте где надо воспроизвести звук пишем

 
Код:
playSound()
Ах вот еще что надо сделать
добавить Imports Reflection для этого над всеми классами пишем

 
Код:
Imports System.Reflection
и не забудте для всех внедренных вайлов установить "Действие при построении" - "Внедренный ресурс"
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог