2015-05-20 46 views
0

我讀this answer並試圖打一個音符與NAudio.Midi:無法播放注意到NAudio.Midi

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using NAudio.Midi; 
using System.Threading; 

namespace SoundVision10 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 
     private void Form1_Load(object sender, EventArgs e) 
     { 

     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      //Thread.Sleep inside GUI is just for example 
      using (MidiOut midiOut = new MidiOut(0)) 
      { 
       midiOut.Volume = 65535; 
       midiOut.Send(MidiMessage.StartNote(60, 127, 0).RawData); 
       MessageBox.Show("Sent"); 
       Thread.Sleep(1000); 
       midiOut.Send(MidiMessage.StopNote(60, 0, 0).RawData); 
       Thread.Sleep(1000); 
      } 
     } 
    } 
} 

顯示「已發送」,並沒有什麼事情發生。

聲音已打開。

的第一個MIDI輸出設備的名稱是「Microsoft GS波形表合成器」

我是不是忘了什麼東西?

回答

0

我用NAudio.dll 1.3.8.0替換NAudio.dll 1.7.3.0,它解決了這個問題。

4

將頻道號碼更改爲1,它可以工作。

midiOut.Send(MidiMessage.StartNote(60, 127, 1).RawData);