查看單個文章
舊 2006-09-27, 05:32 PM   #5 (permalink)
cruise70
註冊會員
榮譽勳章
UID - 37757
在線等級: 級別:22 | 在線時長:585小時 | 升級還需:36小時級別:22 | 在線時長:585小時 | 升級還需:36小時級別:22 | 在線時長:585小時 | 升級還需:36小時級別:22 | 在線時長:585小時 | 升級還需:36小時級別:22 | 在線時長:585小時 | 升級還需:36小時級別:22 | 在線時長:585小時 | 升級還需:36小時級別:22 | 在線時長:585小時 | 升級還需:36小時
註冊日期: 2003-02-13
VIP期限: 2007-05
文章: 222
精華: 0
現金: 266 金幣
資產: 266 金幣
預設

引用:
作者: mini

dim MCIOBJ
set MCIOBJ = CreateObject("WScript.Shell")
MCIOBJ.run "mplay32.exe /play /close c:\piano.wav"
三行,存成 某某.vbs 就可得到效果...
不好意思 再請教大大..

要寫這個程式我目前能夠想到的是
準備各音階的聲音檔 , 製作的時候
只能寫好譜或是給一個inputbox讓使用者填入整首譜 , 然後讓vbs執行
這種方式應該不難 , 但是我比較想要作的是彈什麼就是什麼 , 就像一般的鋼琴般
把鍵盤當作琴鍵 , 按一個音是個音...

我有查到一個網站
http://faculty.stut.edu.tw/~tang/project/proj_ref.htm
鋼琴鍵盤示範midi發聲程式設計 這項有VB原始碼
我比較驚訝的是好像是直接以winAPI來發音 , 所以不需要準備什麼鋼琴音
看了一下他好像有用到winmm的東西 , 沒學過VB和API用法
一下子看很吃力 , 完全不知所云
不知道這個程式 , 有沒有辦法vbscript化 ?
不用太複雜 , 只要可以彈就好了

他是以Form用滑鼠來彈 ( 雖然看過資料WSH可以利用,IE的物件叫出表單 )
我有想過 , 想用鍵盤彈感覺好像很難達成
因為用能夠給他指令的 , 目前我只知道
1. 以inputbox給 , 但是按一個音後要按enter , 所以不可行
2. 用另外的txt檔給或是由DOS執行時 , 順便給指令
但是這個跟一次給整首歌的情形 , 不就沒兩樣了
不知道有沒有辦法 , 達成按一個鍵就達成某事件(EX:一個鋼琴音)
的方法
cruise70 目前離線  
送花文章: 8, 收花文章: 2 篇, 收花: 3 次
回覆時引用此帖