Ну помогите же! Вам это так просто(SetEffects)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
cg_ck
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 118
Зарегистрирован: 11.06.2003 (Ср) 12:02
Откуда: Riga(Latvia)

Ну помогите же! Вам это так просто(SetEffects)

Сообщение cg_ck » 18.06.2005 (Сб) 14:40

Я просто не привык. Честно. В остальном уже сам разобрался! Читал в МСДН. Все сделал кроме одного:

http://msdn.microsoft.com/archive/defau ... dio_vb.asp

Как это применить? Как сделать хоть какое-то изменение звука по средствам этой функции. Всё уже написанно. Работает через секондари буфер, но вот единственное что, не могу сделать изменения звука. Просто не понимаю синтаксис.
Ходит по лесу хомяк, хищный маленький дурак...

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 18.06.2005 (Сб) 21:13

да уж, нам это ТАК просто! :lol:

собсно было бы наверно правильнее постить в раздел по 3D.

там же абсолютно все написано! что именно не работает?
ХЎ

cg_ck
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 118
Зарегистрирован: 11.06.2003 (Ср) 12:02
Откуда: Riga(Latvia)

Сообщение cg_ck » 19.06.2005 (Вс) 13:33

Наверно там было бы лучше. Не подумал. А именно, второйпараметр не могу выставить. Не понимаю что там нуно писать. Вообще, как эту функцию определить? Тоесь, хотя бы один пример как она правильно должна быть напсанна.
Ходит по лесу хомяк, хищный маленький дурак...

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 19.06.2005 (Вс) 16:22

второй параметр - это массив DSEFFECTDESC, про него читать тут:
http://msdn.microsoft.com/archive/defau ... dio_vb.asp

я бы мог сделать пример, если бы ты выложил готовый проект, куда тебе это надо вставить.
ХЎ

cg_ck
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 118
Зарегистрирован: 11.06.2003 (Ср) 12:02
Откуда: Riga(Latvia)

Сообщение cg_ck » 19.06.2005 (Вс) 17:08

Да! Но я просто в упор не понимаю, как из задовать(параметры)! Вот собственно в чём проблема.
Ходит по лесу хомяк, хищный маленький дурак...

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 19.06.2005 (Вс) 18:31

ну у тебя каркас программы есть? выложи что-ли...
ХЎ

cg_ck
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 118
Зарегистрирован: 11.06.2003 (Ср) 12:02
Откуда: Riga(Latvia)

Сообщение cg_ck » 19.06.2005 (Вс) 19:46

Код: Выделить всё
Dim dx As New DirectX8
Dim ds As DirectSound8
Dim dsbuffer1 As DirectSoundSecondaryBuffer8

Private Sub Command1_Click()
    Set ds = dx.DirectSoundCreate("")
    ds.SetCooperativeLevel Form1.hWnd, DSSCL_NORMAL
    Dim bufferDesc As DSBUFFERDESC
    Set dsbuffer1 = ds.CreateSoundBufferFromFile(App.Path & "/Beat004.wav", bufferDesc)
End Sub

Private Sub Command2_Click()
End Sub

Private Sub Command3_Click()
    dsbuffer1.Play (DSBPLAY_DEFAULT)
End Sub



Вот собтвенно и он ;)
Ходит по лесу хомяк, хищный маленький дурак...

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 19.06.2005 (Вс) 20:51

А вот собсно то, что тебе надо было сделать:

Код: Выделить всё
Dim dx As New DirectX8
Dim ds As DirectSound8
Dim dsbuffer1 As DirectSoundSecondaryBuffer8

Private Sub Command1_Click()
    Set ds = dx.DirectSoundCreate("")
    ds.SetCooperativeLevel Form1.hWnd, DSSCL_NORMAL
    Dim bufferDesc As DSBUFFERDESC
    bufferDesc.lFlags = DSBCAPS_CTRLFX
    Set dsbuffer1 = ds.CreateSoundBufferFromFile(App.Path & "/talkArgueMike_Mike.wav", bufferDesc)
End Sub

Private Sub Command3_Click()
    Dim buf(1) As DSEFFECTDESC
    Dim res(1) As Long
    buf(0).guidDSFXClass = DSFX_STANDARD_WAVES_REVERB
    buf(1).guidDSFXClass = DSFX_STANDARD_ECHO
    dsbuffer1.SetFX 2, buf(), res()
    dsbuffer1.Play (DSBPLAY_DEFAULT)
End Sub


поставь wav подлиннее, тогда лучше эффект виден. Там накладываюцца 2 фильтра - эхо, и типа как через трубу. Дисторшн тоже прикольно =)
ХЎ

cg_ck
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 118
Зарегистрирован: 11.06.2003 (Ср) 12:02
Откуда: Riga(Latvia)

Сообщение cg_ck » 21.06.2005 (Вт) 10:03

Тут выплёвывается ошибка (Automation Error):
Код: Выделить всё
  dsbuffer1.SetFX 2, buf(), res()


И ничего я не могу сделать.
Ходит по лесу хомяк, хищный маленький дурак...

cg_ck
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 118
Зарегистрирован: 11.06.2003 (Ср) 12:02
Откуда: Riga(Latvia)

Сообщение cg_ck » 21.06.2005 (Вт) 10:05

Всё, больше не выплёвывается ;)
Ходит по лесу хомяк, хищный маленький дурак...

cg_ck
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 118
Зарегистрирован: 11.06.2003 (Ср) 12:02
Откуда: Riga(Latvia)

Сообщение cg_ck » 21.06.2005 (Вт) 10:07

Спасибо огромное!
Ходит по лесу хомяк, хищный маленький дурак...

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 22.06.2005 (Ср) 11:17

тебе тоже спасибо. чесс говоря не знал до этого что так можно делать =)
ХЎ


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 165

    TopList