問題タブ [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.
c++ - Windows マルチメディア API を使用してスピーカーのマイクの音量を変更するには?
Windows マルチメディア API を使用して、C++ で音量を変更します。IAudioEndpointVolume インターフェイスの SetMasterVolumeLevelScalar メソッドを使用して、スピーカーとマイクのマスター ボリュームを変更すると、正常に動作します。
また、スピーカーのマイクの音量をプログラムで変更したいと思います。これは次の場所で確認できます。
プログラムでスピーカーのマイク値をゼロに設定したい。SetChannelVolumeLevelScalar メソッドを試してみましたが、左/右チャンネルの音量を変更するためのものです。
プログラムで変更するにはどうすればよいですか?
よろしく。
c# - Windows 8.1 WPF アプリケーションの mixerSetControlDetails が MMSYSERR_ERROR を返す
編集
NAudio ソース コードを変更し、少しデバッグした後、プロパティmixerSetControlDetails
を設定したときに呼び出される関数が を返すことがわかりました。Value
MMSYSERR_ERROR
mixerSetControlDetails
失敗した理由についてさらに情報を取得する方法はありますか?
私は、C# で同じことを達成するための他の方法にもオープンです。
オリジナル
音声のエネルギーを計算し、NAudio を使用してこの計算値に従ってマイク ブースト レベルを設定するコードがあります。オーディオ サンプルの読み取りに問題はありませんが、マイク ブーストを設定しようとすると、プログラムが動かなくなります。
Windows 7、8、および 8.1 で問題を確認しました。この問題は、Windows 8.1 でのみ発生します。興味深いことに、Windows 8.1 の仮想マシンでプログラムを実行すると、期待どおりに動作します。これは許可の問題でしょうか?
ブースト値を設定するためのコードは次のとおりです
このコードで MixerLine が事前に作成されている場所。
c - CでPlaySoundを使用する方法
GNU GCC コンパイラで動作する code::blocks IDE を使用しています。私のプロジェクトでは、C で.wavサウンド ファイルを再生したいと考えています。 PlaySoundという関数で.wavサウンド ファイルを再生しようとしました。コード code::blocks をコンパイルすると、エラーが発生しました - PlaySoundA が宣言されていません。私のコードは-
パスを 2 回確認しました。私はインターネットでこの機能について読みましたが、私はそれを正しい方法で使用しています。
Google では、関数がwinmm.libというファイルに存在することを読みました。そのため、すべてのヘッダーの後にコード行を追加しました。そうだった-
また、code::blocks の追加の依存関係に winmm.lib という名前を追加しました。そのため、コードをコンパイルすると、別のエラーが発生します-winmm.libが見つかりません。PlaySoundの正しい使い方を教えてください。
c# - winmm.dll を使用して C# でオーディオを録音する
winmm.dll を使用してサウンドを録音しようとしている C# でアプリケーションを開発しています。数日前は音声を録音できましたが、現在は音声ファイルが生成されません。また、エラーは発生しません。プログラムをデバッグしましたが、どこが間違っているのかわかりませんでした。
これが私のコードです:
c# - NAudio と Midi.dll を含む VS 2013 Express プロジェクトで winmm.dll の読み込み中にエラーが発生する (Windows 10)
みなさん、こんにちは:)
私は今、大きな問題を抱えています。Windows 7 Home Premium 64 ビットおよび Visual Studio 2013 Express で (MIDI および NAudio ライブラリを使用して) オーディオ アプリケーションを作成しました。すべて問題ありませんでした。そして、面白いことに、「ラッキーセブン」をWindows 10にアップグレードし、同じVisual Studio 2013 Express for Windows Desktopをインストールしました。
それで、私は自分のプロジェクトを開き、再構築して実行しました...残念ながら、ある種のエラー/例外/ midi.dllからのwinmm.dllに関する厄介なメッセージが表示されました
何が起こっているのか理解できません。これは私を大きな頭痛の種にします:(
duplicates - 同じタイプの複数のデバイスを使用する場合の一貫性のない MIDI 命名
同じタイプのハードウェアの複数の USB MIDI デバイスを使用しようとすると、デバイスの名前付けのあいまいな動作に直面しています。これはハードウェア/システム/ドライバーに関連している可能性があるため、一般的な設定は次のとおりです。
- ホスト: Windows 8.1 x64 (複数のマシンでテスト済み)
- USB デバイス: 2x Livid Brain V2 (汎用の usb-midi インターフェイス)
2 つのデバイス (同じハードウェア、デバイス X および Y と呼びましょう) は、2 つの異なるファームウェア フレーバーでフラッシュされるため、MIDI 列挙では異なる名前で表示されます。デバイス X のみを接続すると、「Brain2」と表示され、デバイス Y のみを接続すると「Brain2B」と表示されます。これらは、MIDIINCAPS / MIDIOUTCAPS (winmm.dll) から取得した名前です。ここまでは順調ですね。
両方のデバイスを同時に接続するとすぐに問題が発生し、両方が(後者が接続された)同じ名前を取得するため、列挙が変更されます。
- 最初に X、次に Y => 両方とも「Brain2B」という名前を取得します
- 最初に Y、次に X => 両方とも「Brain2」という名前を取得します
ただし、デバイスにアクセスして使用することはできますが、それらを区別することはできません (これは基本的に、両方のデバイスで同じファームウェアを使用する場合と同じ開始位置です)。
誰かが私を正しい方向に向けることができれば幸いです。誰かが似たようなことに遭遇しましたか? これはシステム関連の問題でしょうか? (それともドライバーが悪いのでしょうか?) よろしくお願いします!
編集:
USB Device Tree Viewer (USBView に類似)というツールを使用して USB のプロパティを詳しく調べたところ、識別子が正しいことがわかりました。では、 winmm.dllはどのようにして midi 列挙を取得するのでしょうか - そこにバグがあるのでしょうか? (ありそうもない)
モリッツ
(ところで: 製造元のフォーラムの関連トピック/投稿は次のとおりです:リンク)
c# - mp3 の検索時に winmm.dll のボリュームが低下する
過去数日間、winmm.dll の使用方法をいろいろ試して学習しており、プログラムはほとんど動作していますが、修正を見つけることができなかった問題に遭遇しました。私が抱えている問題は、曲をランダムな回数 (通常は 10 ~ 20 回) シークした後、音量がかなり低くなり、おそらく元の約 20% になることです。これは、音量が毎回低くなり、元のレベルに戻ることもあります。「setaudio」コマンドを介して設定された実際の音量係数は、どれだけ下がっても正確であり、低いレベルだけで完全に微調整できます。Windows 7 と 10 でこれをテストしましたが、両方で問題が解決しません。
シーク方法:
ボリューム プロパティ:
クリックシークを許可し、スパムシークリクエストを回避するために、いくつかの追加機能を備えたシーク用のトラックバーを使用しています。このトラック バーは、曲の進行状況を追跡するタイマーによっても更新されます。イベント ハンドラー メソッドは次のとおりです。
waveOut set および get volume 関数を使用してボリュームを設定および取得できることは承知していますが、プログラムのボリューム ミキサー設定が変更されないため、「setaudio」コマンドを使用することをお勧めします。この問題が整理されたら、エラー キャッチも追加する予定です。
また、万が一に備えて、MouseDown イベント ハンドラーの MinMax メソッドは、値を制限するために作成した拡張機能です。
c# - winmm.dll mciSendString で可能な最低オーディオ設定?
C# と winmm.dll を使用して、この記録を可能な限り低い設定に設定しようとしています。以下のように設定しましたが、違いがわかりません。私が何かを見逃しているかどうか誰かが知っていますか?
可能な限り低いオーディオ設定を取得しようとしています。トランシーバーから聞こえるようなものです。
サンプル レートに加えた変更が反映されていないようです。
ありがとう、