Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Midi Добавлено: 26.08.08 19:56  

Автор вопроса:  Bonapart | Web-сайт: team16.tut.su | ICQ: 175256 
В общем надо было сделать некоторый синтезатор на вб, поискал нашел в примерах комманду midisendshortstring , даже как ей пользоваться нашел , но есть одно но, мне надо не пианино синтезировать которое по умолчанию выдает звуки а другие инструменты, как моем вообще выбрать инструмент? Во многих программах видел список из сотни инструментов, везде одинаковый:) значит все это по стандарту. В поиск можно не посылать, искал долго ничего нет:(

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #1
Добавлено: 01.09.08 18:07
Гдеж ты интересно искал...

Option Explicit
Private Declare Function midiOutOpen Lib "winmm.dll" _
    ;(lphMidiOut As Long, _
    ByVal uDeviceID As Long, _
    ByVal dwCallback As Long, _
    ByVal dwInstance As Long, _
    ByVal dwFlags As Long) As Long
Private Declare Function midiOutClose Lib "winmm.dll" _
    ;(ByVal hMidiOut As Long) As Long
Private Declare Function midiOutShortMsg Lib "winmm.dll" _
    ;(ByVal hMidiOut As Long, _
    ByVal dwMsg As Long) As Long
Private Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)
Dim hMidiOut As Long
Public lanote As Long
Sub PlayMIDI(voiceNum, noteNum, Duration)
    Dim Note As Long
    On Error Resume Next
    midiOutClose hMidiOut
    midiOutOpen hMidiOut, 0, 0, 0, 0
    midiOutShortMsg hMidiOut, RGB(192, voiceNum - 1, 127)
    lanote = 12 + CLng(noteNum)
    Note = RGB(144, lanote, 127)
    midiOutShortMsg hMidiOut, Note
    Sleep (Duration)
    midiOutClose hMidiOut
End Sub
Private Sub Command1_Click()
'instrument - eg:0=piano,25=guitar...
'note - 48 is equal to middle c
'duration of note in milliseconds
Call PlayMIDI(45, 48, 666)
End Sub

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам