問題タブ [directmusic]

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 投票する
2 に答える
786 参照

midi - DirectMusic で単音を再生する

開発中のアプリケーションで、MIDI 再生に DirectMusic を使用しています。DirectMusic を使用して個々の音符を再生できるかどうかを知っている人はいますか? 現在、「曲」全体を表すメモリ内データ構造を MIDI バッファに変換し、DirectMusic を介して再生しています。MIDI バッファを生成し、ロードして再生することなく、個々のノートを再生できるようにしたいと考えています。このようなことは DirectMusic でも可能ですか?

DirectMusic の世界に足を踏み入れるのはこれが初めてなので、その機能についてあまり知られていないことを願っています...

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

windows - MMEおよびDirectMusicを使用する場合のANSIまたはOEMコードページ?

MMEからMIDIポート名を読み取るとき、名前はANSIコードページを使用してエンコードされたマルチバイト文字列であることに気付きました。これは私のアプリがデフォルトで使用します。DirectMusicドライバーからこれらの名前を受け取る場合、名前はOEMコードページでエンコードされたワイド文字列です。コードページの簡単な復習については、RaymondChenによるこの記事を参照してください。

私のドイツ語システムでは、これは、ANSIコードページであることが判明した現在のコードページを使用すると、MMEから「Audiogerät」を取得、DirectMusicから「Audiogeröt」を取得することを意味します。後者は間違っています。これは、その姓を代わりにOEMエンコードとして扱うと修正されます。

では、これらの名前をデコードするコードページをどのように知ることができますか?DirectMusicに由来する名前が異なる方法でエンコードされるのはなぜですか?それはUSBドライバーから来ていますか?COMフ​​レームワーク?DirectMusic?MIDIポートの名前を読み取るときに使用するコードページを確実に知るにはどうすればよいですか?

情報:

  • 使用するコードページの引数として、およびを使用して変換を実行するためにand関数を使用しますMultiByteToWideChar()WideCharToMultiByte()CP_ACPCP_OEMCP
  • midiInGetDeviceCaps()MMEサブシステムからMIDIポート情報を取得するために使用します...
  • ...そして(ANSI)コードページMIDIINCAPS.szPnameを使用して変換します。CP_ACP
  • IID_IDirectMusic8::EnumPort()DirectMusicからポート情報を取得するために使用します...
  • DMUS_PORTCAPS.wszDescription...そしてコードページを使用して変換しCP_OEMCPます。
0 投票する
1 に答える
2190 参照

c++ - DirectMusic を含む

問題は次のとおりです。 を含める<dmusici.h>と、次のエラーが発生します。

例:

0 投票する
0 に答える
46 参照

directx - 2 つのチャンネル グループで 2 つの MIDIS を同時に再生する DirectMusic

誰かが 1 つの Performance、1 つの MusicPort で 2 つの midis を読み込んで再生する方法のサンプル コードを提供できますか (midi 1 でチャネル 0-15 を使用し、別のチャネル グループを使用して midi 2 の 0-15 を再生しますか?)セグメントですが、最初の midi が一瞬再生されてから、2 番目の再生のみが再生されます。例が見つかりません。残念ながらうまくいきません。

基本的に私のテストではそうします(いくつかのステップはスキップされますが、デフォルトです)

ポートは Microsoft シンセサイザー

...

...

...

...