Проигрывание файла wav

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Tatyanka
Немного Иная
Немного Иная
Аватара пользователя
 
Сообщения: 876
Зарегистрирован: 02.12.2004 (Чт) 13:55
Откуда: Киев

Проигрывание файла wav

Сообщение Tatyanka » 14.12.2004 (Вт) 11:37

Вопрос простой: как проиграть файл wav? Но это не должен быть стандартный звук, как в команде Beep, потому что при разных событиях проигрываются разные звуки. Если не wav, то хоть какой-нибудь аудиофайл... :? Желательно без запуска дополнительных программ..

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Проигрование файла wav

Сообщение Чудик » 14.12.2004 (Вт) 12:21

почитай, может то?
Вложения
Работа со звуком в VB.zip
(2.21 Кб) Скачиваний: 67
Век живи - век учись!
www.detal-plast.narod.ru

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 14.12.2004 (Вт) 12:22

или вот:
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_NODEFAULT = &H2
Const SND_MEMORY = &H4
Const SND_LOOP = &H8
Const SND_NOSTOP = &H10



Private Declare Function mciSendString& Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long)
Private Declare Function sndPlaySound& Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long)
Private Declare Function sndStopSound& Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszNull As Long, ByVal uFlags As Long)


Private Sub Command1_Click()
result = mciSendString("open ""C:\Documents and Settings\Àäìèíèñòðàòîð\Ìîè äîêóìåíòû\For Siemens\fish.mid"" type sequencer alias fish", 0&, 0, 0)
result = mciSendString("play fish", 0&, 0, 0)
result = mciSendString("Close Animation", 0&, 0, 0)
End Sub

Private Sub Command2_Click()
result = sndPlaySound("C:\Documents and Settings\Àäìèíèñòðàòîð\Ìîè äîêóìåíòû\For Siemens\Male on.wav", SND_ASYNC Or SND_NODEFAULT)
End Sub

Private Sub Command3_Click()
'result = mciSendString("stop fish", 0&, 0, 0)
'result = mciSendString("Close fish", 0&, 0, 0)
result = sndPlaySound("E:\My.wav", SND_ASYNC)
End Sub

Private Sub Command4_Click()
result = sndStopSound(0, SND_ASYNC)
End Sub
Век живи - век учись!
www.detal-plast.narod.ru

Андрей Васюта
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 91
Зарегистрирован: 20.07.2004 (Вт) 19:40

Сообщение Андрей Васюта » 14.12.2004 (Вт) 12:27

Воспользуйся поиском или посмотри тут http://bbs.vbstreets.ru/viewtopic.php?t ... ht=wav+%E0
Большой программе - большие глюки.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.12.2004 (Вт) 12:48

Ещё PlaySound почему-то все забыли...
Пример тут: http://bbs.vbstreets.ru/viewtopic.php?t=11834
Изображение

Tatyanka
Немного Иная
Немного Иная
Аватара пользователя
 
Сообщения: 876
Зарегистрирован: 02.12.2004 (Чт) 13:55
Откуда: Киев

Сообщение Tatyanka » 14.12.2004 (Вт) 13:46

YES!!! Спасибо, tyomitch!!! :D :salut:

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Проигрывание файла wav

Сообщение jangle » 01.10.2008 (Ср) 15:45

народ, как проиграть wav однократно, а не циклически?

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Проигрывание файла wav

Сообщение dr.MIG » 01.10.2008 (Ср) 18:09

Код: Выделить всё
Private Const SND_FILENAME = &H20000
Private Const SND_ASYNC = &H1
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long

PlaySound "SOME.WAV", ByVal 0&, SND_FILENAME Or SND_ASYNC
Salus populi suprema lex

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Проигрывание файла wav

Сообщение Proxy » 01.10.2008 (Ср) 19:58

Давно хотел впросить: а в висте PlaySound тоже работает? Или это удел NT?
Follow the white rabbit.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Проигрывание файла wav

Сообщение tyomitch » 01.10.2008 (Ср) 21:01

Домашнее задание товарищу Proxy:
1) ввести в гугл слово PlaySound
2) кликнуть по первой ссылке
3) найти параграф Requirements
4) сделать выводы


jangle тоже хорош: существующий топик нашёл, а в нём существующий ответ на свой вопрос -- не смог :-|
Изображение

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Проигрывание файла wav

Сообщение Proxy » 02.10.2008 (Чт) 3:38

Windows NT/2000/XP: Included in Windows NT 3.1 and later.
Windows 95/98/Me: Included in Windows 95 and later.

Отсутствие Vista говорит о том, что инфа возникла ещё до её появления. Хотелось бы узнать достоверно.
Follow the white rabbit.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Проигрывание файла wav

Сообщение jangle » 02.10.2008 (Чт) 9:49

jangle тоже хорош: существующий топик нашёл, а в нём существующий ответ на свой вопрос -- не смог


Так файл воспроизводится циклически, а мне нужно проиграть только один раз

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Проигрывание файла wav

Сообщение Williams » 07.10.2008 (Вт) 0:05

Proxy писал(а):
Windows NT/2000/XP: Included in Windows NT 3.1 and later.
Windows 95/98/Me: Included in Windows 95 and later.

Отсутствие Vista говорит о том, что инфа возникла ещё до её появления. Хотелось бы узнать достоверно.


Сказано же, And Later. Снятие этой функции в Висте убило бы данный функционал в некоторых программах, зачем это по-твоему надо Майкрософту? Все операционные системы серии проектируются таким образом, чтобы обеспечить обратную совместимость.

jangle писал(а):народ, как проиграть wav однократно, а не циклически?


У PlaySound есть SND_LOOP:
The sound plays repeatedly until PlaySound is called again with the pszSound parameter set to NULL. If this flag is set, you must also set the SND_ASYNC flag.
И вы думаете, что вас оставят в живых после прочтения этого поста?


Вернуться в Visual Basic 1–6

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

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

    TopList