問題タブ [winmm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
447 参照

c# - MIDIHDR の問題

WinMM.dll で MIDI 関数のラッパー ライブラリを作成しようとしていますが、MIDI の長いメッセージに問題があります。PIvnoke.net でこれを見つけました (最初の行を自分で追加しました):

しかし、コンパイル中にエラーが発生します:

エラー 1 タイプ 'WinMMM.MidiWrapper.MIDIHDR' の構造体メンバー 'WinMMM.MidiWrapper.MIDIHDR.lpNext' により、構造体レイアウト C:\Users\Alex\Documents\Visual Studio 2010\Projects\WinMMM\WinMMM\MidiWrapper でサイクルが発生します。 cs 219 21 WinMMM

私は Visual Studio Ultimate 2010 を使用しており、C# クラス ライブラリを作成しています。

0 投票する
1 に答える
340 参照

windows - PlaySound()が失敗した場合、最後のエラーステータスを取得できますか?

前の呼び出しが返された場合でもユニバーサルGetLastError()が返されるので、私は尋ねています。waveOut、mixer などの特定のエラー関数があることは承知していますが、最後のステータスを反映する関数はありますか?ERROR_SUCCESSPlaySound()FALSEwinmmPlaySound()

0 投票する
3 に答える
1260 参照

c# - MIDI でテルミンのような連続音を再生する

マウスカーソルの位置に基づいて連続音を再生する、テルミンのようなプログラムを作成しようとしています。これを行うために、Carl Franklin のMIDI Toolsライブラリを使用しています。

これは、ノートを再生するために使用しているコード スニペットです。

問題は、このように演奏されるノートがはっきりと聞こえることです。ある音から別の音への明確な移行があります。

ピッチを連続的にシフトするテルミンのような連続音を再生するにはどうすればよいですか?

0 投票する
2 に答える
9673 参照

driver - 仮想 MIDI ポートを作成する

通信用にハードウェア MIDI ポートを開きたい Windows 上のアプリケーションを相互接続するための仮想 MIDI ポートを作成する、仮想 MIDI ループバック ケーブル プログラムを作成したいと考えています。

私の要件が明確でない場合は申し訳ありません。ここに、私が意図したことを実行するアプリケーションの例を示します。

http://www.tobias-erichsen.de/loopMIDI.html

どうすればいいですか?ヒントやポインタは大歓迎です。

0 投票する
1 に答える
3651 参照

visual-studio - CMAKE:VisualStudioを使用してWindowsで実行可能ファイルをwinmmimm32バージョンにリンクする方法は?

これらのライブラリを簡単に見つけることは可能ですか?

車輪の再発明をして、超長めのfind_library呼び出しを書きたくありません!

さらに、「winmm.libなど」の行を入れたいだけです

これらのライブラリは、WindowsとVisual Studioの親友であるため、それらを見つける方法をよく知っています。

0 投票する
3 に答える
3162 参照

windows - winmmのマルチチャンネルサウンド、多くのWaveOutOpen?

Windows XPでマルチチャンネル(パラレル)方式でサウンドを再生しようとしています。WinMMで並列サウンドを再生することはおそらく不可能であるとどこかで読んだことがありますが、これが私が観察したことです。

WaveOutOpen()を1回呼び出してから、WaveOutWrite()を何度も呼び出すと、サウンドは並列ではなく、キューに入れられます。

しかし、WaveOutOpenを9回呼び出して(そしてそれに9つのハンドルを格納して)、9つの異なるサウンドでWaveOutWrite()を9回呼び出すと、それらは並列(マルチチャネル)で再生されます。つまり、それらは混合されます。

動作しているように見えますが、チュートリアルやドキュメントに明確に記載されていないため、問題がないかどうかはわかりません。

このような「多くのWaveOutOpen」の方法でサウンドを再生しても大丈夫ですか?

0 投票する
2 に答える
3110 参照

c# - C# MciSendString の記録、デバッグで動作、デプロイされていない

誰かがこれで私を正しい方向に向けてくれることを本当に願っています。このコードは、Visual Studio Express 2010 内でデバッグしているときは完全に機能しますが、ビルドおよび展開すると、mci エラー 263 - "指定されたデバイスが開いていないか、mci によって認識されていません" が表示されます。

ビルド設定などをいじってみましたが、喜びはありません。確かにこれはコードではなく設定の問題でしょうか?

誰でも提供できるヘルプは大歓迎です。

----- コードは続きます ----

0 投票する
2 に答える
7177 参照

c# - Win 7 でプログラムの音量を変更する

プログラムのボリューム (マスターボリュームではなく) を変更したい。現在、次のコードがあります。

これは Windows XP でのみ機能し、Windows 7 では機能しません (おそらく Vista でも機能しません)。マスターボリュームを変更するためだけに、Win 7で同じことを達成するスクリプトは見つかりませんでした(私は後でありません)。

0 投票する
1 に答える
1033 参照

windows - CurrentControlSet \ Control \ MediaPropertiesを見つけるためにWindowsAPIを修正しますか?

カスタムジョイスティックデバイスをサポートしたいと考えていますが、プロジェクトの要件により、DirectInputAPIを使用できなくなりました。「クラシック」なWindowsマルチメディアAPI(joyGetDevCapsやファミリーなど)の使用に切り替えましたが、1つの例外を除いてすべて機能します。

DirectInput DeviceInstanceには、デバイスの正しい「カスタム」名を返すInstanceNameProductNameの2つのフィールドがありました。

対応するjoyGetDevCaps製品名フィールドszPnameは、一般的な「MicrosoftPC-ジョイスティックドライバー」を返します。

デバイスがインストールされているシステムのレジストリを検索したところ、このノードに必要な文字列を持つREG_SZOEMNameエントリがあることがわかりました。

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ MediaProperties \ PrivateProperties \ Joystick \ OEM \ VID_07C0&PID_1128

JOYCAPSには、wMid(メーカーID)とwPid(製品ID)の2つのフィールドが返されます。これらのフィールドは、キー名の2つの16進値wMid = 0x07c0、wPid=0x1128にマップされます。

さらに、GUID_DEVINTERFACE_HIDでSetupDiEnumDeviceInfo APIを使用して、一致するコントローラーを見つけることができます(ただし、この手順は必要ない場合があります)。

HID \ VID_07C0&PID_1128&REV_1032、HID準拠のゲームコントローラー

質問:使用する必要があるMediaProperties \ PrivatePropertiesを列挙するためのAPIはありますか、それともこの情報を使用してレジストリに直接クエリを実行するのは「安全」ですか?APIがある場合は、リファレンスやサンプルコードで回答してください。関連するものが見つかりません。

0 投票する
1 に答える
262 参照

windows - MIDI デバイスが USB デバイスでもあるかどうかを確認する方法は?

MIDI デバイスが USB デバイスでもあるかどうかを確認するにはどうすればよいですか?

デバイス識別子のこの文字列「\\?\\usb」を常にチェックするだけでは十分ではないようです。