Звук в VB 6

Программирование на Visual Basic for Applications
Andervers
Новичок
Новичок
Аватара пользователя
 
Сообщения: 43
Зарегистрирован: 15.04.2005 (Пт) 16:17

Звук в VB 6

Сообщение Andervers » 15.04.2005 (Пт) 16:31

Как сделать, чтоб динамик пищял, желательно в Power Point, но и на простой VB будет хорошо
Говори, что думаеш и думай, что говориш

Димитрий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 26.01.2005 (Ср) 22:47
Откуда: Волгоград

Сообщение Димитрий » 15.04.2005 (Пт) 18:05

Добавьте следующий код:

Код: Выделить всё
Option Explicit
'Функция генерирует звуковой сигнал
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
'dwFred - частота звука
'dwDuration - продолжительность сигнала в миллисекундах

Private Sub cmdGen_Click()
'Генерируем звук
Beep srlChastota.Value, srlTime.Value
End Sub


Автор статьи: Хованский Ян (web: yansoft.by.ru)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 15.04.2005 (Пт) 18:18

Только добавляя, учитывайте, что работать на винде ниже 2000 не будет :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Andervers
Новичок
Новичок
Аватара пользователя
 
Сообщения: 43
Зарегистрирован: 15.04.2005 (Пт) 16:17

Сообщение Andervers » 15.04.2005 (Пт) 20:09

Спасибо, спасибо, но вопрос - это для Power Point или просто для VB?
Говори, что думаеш и думай, что говориш

Димитрий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 26.01.2005 (Ср) 22:47
Откуда: Волгоград

Сообщение Димитрий » 15.04.2005 (Пт) 21:38

Это API функция может быть использована везде (в современных языках)

Andervers
Новичок
Новичок
Аватара пользователя
 
Сообщения: 43
Зарегистрирован: 15.04.2005 (Пт) 16:17

Сообщение Andervers » 17.04.2005 (Вс) 18:26

Димитрий писал(а):Добавьте следующий код:

Код: Выделить всё
Option Explicit
'Функция генерирует звуковой сигнал
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
'dwFred - частота звука
'dwDuration - продолжительность сигнала в миллисекундах

Private Sub cmdGen_Click()
'Генерируем звук
Beep srlChastota.Value, srlTime.Value
End Sub


Автор статьи: Хованский Ян (web: yansoft.by.ru)


Я VB только учусь, так что обьясните - dwFred и dwDuration - их заменять или ставить = или dwDuration 12??? У меня не получилось(
Говори, что думаеш и думай, что говориш

Димитрий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 26.01.2005 (Ср) 22:47
Откуда: Волгоград

Сообщение Димитрий » 17.04.2005 (Вс) 21:53

Этот код конечно сразу не заработает.
Необходимо сделать кнопку cmdGen и два скрола (полоса прокрутки)
srlChastota srlTime. Принажатии кнопки динамик запищит.
Если Вам нужно вставить звук по другому событию, то в коде просто вставте Beep 300, 150
Где dwFred- частота звука =300Гц (37-20000)
dwDuration - продолжительность сигнала в миллисекундах =150 (0-10000)
Кстати API функции объявляются в блоке модуля и лутше:
Public Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

Andervers
Новичок
Новичок
Аватара пользователя
 
Сообщения: 43
Зарегистрирован: 15.04.2005 (Пт) 16:17

Сообщение Andervers » 20.04.2005 (Ср) 14:20

Как сделать, чтобы при нажатии на кнопку пищял динамик, желательно прерывистые?? Суть в том, что я делаю проект про BIOS, нужно показать звуковые сигналы.
Говори, что думаеш и думай, что говориш

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 20.04.2005 (Ср) 15:31

Сделай в звуковом редакторе нужные звуки и дай поинту на исполнение и не мучай себя :D
"Сеня! Береги руку" (с) "Брилиантовая рука"

Удачи
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

Andervers
Новичок
Новичок
Аватара пользователя
 
Сообщения: 43
Зарегистрирован: 15.04.2005 (Пт) 16:17

Сообщение Andervers » 20.04.2005 (Ср) 15:35

А если всё-же помучать себя?? К тому же до следующего года время есть, наверняка успею, если поможете :D
Говори, что думаеш и думай, что говориш

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 20.04.2005 (Ср) 15:49

Ну тады добро пожаловать в наш клуб "МаздоСадо" :D
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

Димитрий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 26.01.2005 (Ср) 22:47
Откуда: Волгоград

Сообщение Димитрий » 20.04.2005 (Ср) 18:20

Что-то типа
Код: Выделить всё
Public Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Public Declare Function GetTickCount Lib "kernel32" () As Long

Function Dinamik(Chast As Long, Tim As Long, Paus As Long, Chis As Long)
Dim i As Long, SStime As Long
    For i = 1 To Chis
        Beep srlChastota.Value, srlTime.Value
        SStime = GetTickCount
        Do While GetTickCount - SStime < Paus: DoEvents: Loop
    Next
End Function

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 21.04.2005 (Чт) 9:38

А что значит это
Код: Выделить всё
srlChastota.Value, srlTime.Value
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

Rombo
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 12.12.2004 (Вс) 22:21
Откуда: москва

Сообщение Rombo » 21.04.2005 (Чт) 15:09

2Igor_123: http://bbs.vbstreets.ru/viewtopic.php?t=15397#112897

а можно как-нибудь проиграть WAV файлу, внедренную в этот же офисный файл?

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 21.04.2005 (Чт) 15:22

Как внедрить не знаю, а в меню "Вставка"->"Фильмы и звук"->...

Вау!!! у меня в 2003 офисе есть даже записать звук :D
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

Димитрий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 26.01.2005 (Ср) 22:47
Откуда: Волгоград

Сообщение Димитрий » 21.04.2005 (Чт) 19:36

Внедрённый файл воспроизвести можно так:
Worksheets(1).OLEObjects(1).Verb

Для интересующихся можно посмотреть, как звучит игра на Excel:
http://www.geocities.co.jp/SiliconValle ... ommand.LZH


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 2

    TopList