2016-05-09 18 views
0

私のアプリでは、Midi-dot-netを使用してNoteONメッセージとNAudioを使用してオーディオサンプル/ノートを再生しました。 NAudioでは低レイテンシーのためにASIO実装を使用していますが、完全に動作します。しかし、私はボリュームを制御することに問題があります。私はミュート音をすることができ、私はそれが働いていないNAudioでASIOの実装を使用している場合は外部MIDIコントローラーを使用して音量を変更してください

private void...() 
    { 
    int NewVolume = ((ushort.MaxValue/50) * trackWave.Value); 
    uint NewVolumeAllChannels = (((uint)NewVolume & 0x0000ffff) | ((uint)NewVolume << 16)); 
    waveOutSetVolume(IntPtr.Zero, NewVolumeAllChannels); 
    volumeN.Text = trackWave.Value.ToString(); 
    } 

ことができますが、私はASIOエンジンを使用 前に、私はボリュームをこのように(コードの一部)をcontrollすることができましたその音量を変更しないでください。

外部MIDIコントローラーに配置されたボリュームスライダーを使用してボリュームを制御する方法を知っていますか?どういうわけか、私はSteinbergやSynthogy、ASIOドライバを使った他のオーディオソフトウェアプロデューサをテストしていました。

ありがとうございました。

+0

これはASIOドライバでボリュームを制御することで問題を解決しません:) – Martin

答えて

1

ASIOを使用すると、デバイスに送信するサンプルのレベルを変更して音量を変更します。デバイスボリュームの概念はありません。あなたのシグナルチェーンにVolumeSampleProviderなどを入れて、それにボリュームを設定してください

+0

これを試します – Martin

関連する問題