問題タブ [mci]

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

c# - 曲情報検索

オーディオ プレーヤー用に C# の .mp3 ファイルから詳細を取得しようとしています。

コードスニップ:

私の質問は次のとおりです。

  • 曲の音量を設定するにはどうすればよいですか?
  • 曲のビット レート/サンプル レートを取得するにはどうすればよいですか?

私は MCI または NAudio の信頼性を認識しているので、それらを使用することを好みます。

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

windbg - 「アクセス違反」の原因を見つける方法

一言で言えば、wav ファイルの再生を制御する (基本的に open、play、pause、stop、status、close ) ために、( dllimport を介して) 多くの mciSendString 呼び出しを行う C# アプリケーションがあります。そして、しばらく実行すると、「アクセス違反」でアプリが予告なしにクラッシュします。

vs2012 からアプリを実行していますが、Visual Studio では例外がキャッチされません。「例外で強制的に中断」オプションを使用しても、vs2012 からこれをデバッグできませんでした。代わりに、WER をセットアップしてクラッシュ ダンプを生成し、windbg と psscor2.dll プラグインを使用してデバッグしています。

次に、次のコマンドを順番に使用して、これが得られます(読みやすくするために不可欠に短縮します):

$>.ecxr

$>~*キロバイト

$>!analyze -v

Unloaded_mciwave.dll のスレッド #30 で例外が発生しているようですが、デバッグをさらに進める方法がわかりません。

これらの 2 つの行の間で何が起こっているかを知るにはどうすればよいですか?

よろしくお願いいたします。

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

python - (python) threading.Timer を使用して呼び出された場合の異なる動作

Pythonモジュール「mp3play」に基づいて、小さなコマンドライン音楽プレーヤーを作りたいです。曲の再生が停止した場合 (そして最終的に新しい曲を開始した場合) を定期的に確認したいのですが、ユーザーはその間に新しいコマンドを入力できる必要があります (音楽の一時停止など)。そのため、そのために threading.Timer を使用しようとしました。ただし、タイマーを使用して呼び出された関数内にいると、エラーが発生します。関数が正常に呼び出された場合、エラーは発生しません。私の(縮小された)コードは次のとおりです。

rep() が 2 回目に呼び出されると、関数 isplaying() で MCI エラーが発生し、デバイスを読み取ることができないというメッセージが表示されます。私の質問:
threading.Timer の動作方法を間違えていますか? (そして、どうすれば修正できますか?) threading.Timer 以外に、私が望むものを達成する方法はありますか?
これまでの私の考えでは、currentmusic別のスレッドからアクセスするには問題がある可能性がありますが、わかりません。また、私はそれを回避する方法を知りません。
助けてくれてthx

0 投票する
4 に答える
2577 参照

c++ - mciSendString() setaudio ボリューム エラー 261

MCI を使用してサウンド関連の操作を行っていますが、音量を変更できないことを除いて、すべてが機能します。次のコードがあります。

errorプログラムは正常に動作しますが、音量は変わりません。何が間違っているかについて何か提案はありますか?(2ページのグーグル検索で何もありません)

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

c - null 文字列を返す mcisendstring

WINMM の関数 mciSendString(); で開いて再生できた音楽の曲の長さを取得しようとして立ち往生しています。

エラー コードは返されませんが、szResponse 文字列は常に NULL を返します。

時間形式をミリ秒に設定してみました

しかし、運もありませんでした。私が見逃している可能性のあるものについてのアイデアはありますか?

前もって感謝します

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

c++ - Win32用のcocos2dxにピッチオーディオを実装する

cocos2dx の SimpleAudioEngine を使用しています。(新しい AudioEngine ではなく、それを使用する必要があります)。

SimpleAudioEngine for Win32 にピッチ関数を実装しようとしましたが、行き詰まりました。

cocos2dx は、SimpleAudioEngine が使用されている場合、オーディオ再生に MCI を使用します。(MCI ref: https://msdn.microsoft.com/en-us/library/windows/desktop/dd742874(v=vs.85).aspx )。

ピッチ機能の実装方法がわかりません。setVolume もありますが、その実装も空です (cocos2dx の人は実装していないと思います)。cocos2d-x v.3.3 c++ を使用しています。再生速度を変更するために使用できる dwSpeed 変数があることがわかりましたが、その操作方法がわかりません。

これが私がしたことです:

MciPlayer の cpp ファイルは次のとおりです: http://pastebin.com/BNyC7FEK

この特定のケースでピッチを実装する機会はありますか? それとも、MCI はこれをサポートしていませんか? MCIオタクがいる場合は、助けてください!

それは私が推測するかなり挑戦的な仕事です。

御時間ありがとうございます!

クリス

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

c# - コンソール アプリで再生が完了したときに通知する

私は、オーディオの再生が終了したときに通知を受け取りたいコンソール C# アプリに取り組んでおり、winmm.dllこれらすべてに使用しています。しかし、通知を受け取る唯一の方法は、を使用することWindows.Formsです。ここここで説明したように。

以下は、オーディオの再生方法です。

C# コンソール アプリケーションで再生が完了したときに通知を受け取る方法があるかどうかを提案してください。

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

c# - mciSendString の出力 MIDI デバイスを変更できますか?

それで、このクラスで私を助けてくれた投稿の1つをついに見つけました

ただし、問題がある場合は少し見つけたようですが、プログラム全体が音を出しますが、どうやら(microsoft gs wavetable synth)に出力するようですその形式のMediaPlayerと同じように、教えてください、これは私のプロジェクトへの最後の動きであり、単純なコードであり、整数またはその名前でMIDIデバイスを指定できます。 midiデバイスの順番!

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

windows - Windows 10 でメディア コントロール インターフェイスが失敗する

Windows MCI (「Media Control Interface」) を使用して、特に MIDI および MP3 ファイルを再生するためのいくつかの基本的な C++ プログラムを作成しました。以前は Windows XP で完全に動作していました。最近、私は Windows 10 に移行し、現在は動作することもありますが (どのような状況かはわかりません)、ほとんどの場合、MP3 または MIDI ファイルを再生せずにすぐに終了します。奇妙なことに、エラー表示 (0 以外のリターン コード) が表示されません。関連するすべての呼び出しに MCI_WAIT オプションを含めるようにしました。プログラムはコマンド ライン プログラムであり、グラフィカルではありません。助けてください!

OK、これが PLAYSIM(PLE) コードの読みやすい形式です (申し訳ありませんが、stackoverflow はあまり使用しません)。メインラインは非常に基本的なものであることに注意してください。この実装のデバイスのタイプは、ファイル タイプから推測されます。ファイル タイプは常に驚くほど機能します (ファイル タイプが正しくないかサポートされていない場合は、「サイレント エラー」ではなく、メッセージが表示されます)。OPEN の前に CLOSE を置こうとしましたが、それは許可されていません。また、ある種の「MCI (再) 初期化呼び出し」を探しましたが、見つかりませんでした。以前は必要ありませんでした。

--->>> さらに単純なバージョンについては、最後を参照してください。そのバージョンは、どの Windows システムでも「コンパイル可能」である必要があります。

このバグを修正するように Microsoft に通知するにはどうすればよいですか???

さらに簡単に:

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

vb.net - オーディオ レコーダー - 録音デバイスの選択 - VB.Net

VB.Net を使用してオーディオ レコーダーを作成しようとしています。

これが私がやっている方法です:

問題なく動作します。唯一の問題は、マイクが 2 つあることです。1 つは内蔵型で、もう 1 つは USB 経由で接続されています。2 つ目の方が録音品質がはるかに優れていますが、このアプリケーションは常に内蔵マイクから録音します。

インターネットで検索しましたが、録音デバイスを選択する方法が見つかりません。私が見つけることができた唯一のものは次のとおりです。

さまざまな値を試してみましたが、役に立ちませんでした。

また、コンピューターで見つかったすべての録音デバイスのすべてのプロパティを正常に一覧表示する次のコードを試しましたが、役立つものは何も見つかりませんでした:

任意の提案をいただければ幸いです。