問題タブ [soundplayer]

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

c# - C# - ランダムに高いピッチの .WAV 再生

何らかの理由で、以下のスニペットを使用して WAV ファイルを再生すると、高音のノイズのようにランダムに再生されます。常に発生するわけではなく、ランダムに発生します。より頻繁に再生されると、より頻繁に発生するようです。WAV のプロパティは、私が使用しているコード スニペットと共に以下に示されています。

WAV プロパティ:

ビット レート - 750kbps
オーディオ サンプル サイズ - 16 ビット
チャンネル - 1 (モノラル)
オーディオ サンプル レート - 44kHz
オーディオ フォーマット - PCM

スニペット:

これは、ファイルの再生方法またはファイル自体のせいですか? ありがとうございました。

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

c# - SoundPlayerを使用して埋め込まれたwavファイルを再生する

バーコードのスキャンを担当するCompactFramework3.5アプリケーションがあります。状況に応じて再生するサウンドは3つあるので、SoundPlayerオブジェクトの周りにラッパークラスを作成し、その上でPlayメソッドを呼び出しました。

バーコードをスキャンする必要があるたびに(1時間に数百回)SoundPlayerを作成しないというアイデアでした。したがって、すでにロードされているファイルに対してPlayを呼び出すことができます。

alert.wavファイルは、アプリケーションが参照するライブラリプロジェクトのルートにあるSoundEffectsフォルダーにあり、埋め込みリソースとして設定されています。wavファイルをロードするには、SoundEffectsクラスに何を渡す必要がありますか?wavファイルをライブラリプロジェクトに埋め込む必要がありますか?

また、wavファイルの再生を処理する方法に何か問題があることに気付いた人はいますか?このようなことを試みるのはこれが初めてなので、改善のための提案を受け付けています。

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

c# - SoundPlayer と Windows 7 の wav ファイル

サウンド ファイル "Windows Critical Stop.wav" を再生しようとすると、次の例外が発生します。exec {"Sound API only supports playing PCM wave files."} System.Exception {System.InvalidOperationException}

PCM とは何かは理解していますが、次のいずれかの方法がわかりません。1) サウンド ファイルを再生する、2) PCM ではなく再生されないことを先験的に判断し、ファイルが選択されないようにブロックします。

私が使用しているコードは次のとおりです。

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

c# - wav ファイルの長さを取得しますか? (soundplayer クラスで wav を再生)

プログラムで.NETSoundPlayerクラスを使用して wav サウンド ファイルを再生していますが、どうにかして wav ファイルの長さ (ミリ秒単位) を取得することはできますか?

回答ありがとうございます。

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

c# - ローカル レベルでの SoundPlayer ループの停止

ユーザーが選択できる複数のサウンド ファイル オプションを含むダイアログとしてポップアップするアラームの設定に取り組んでいます。私が抱えている問題は、ボタンで閉じることができるローカル レベルでサウンド プレーヤーを作成することです。私が抱えている問題は、SoundPlayer がボタン クリック イベント内に存在しないため、フォームを閉じたときにサウンドがループし続けることです。

ここに私が持っているものがあります:

自分がいる場所で SoundPlayer インスタンスを宣言することで、やりたいことを実行できる方法はありますか? または、クラス レベルで宣言し、ユーザー設定に基づいてサウンド ファイルを変更する方法はありますか?

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

c# - System.Media.SoundPlayer.Play()がGUIをフリーズする

C#を使用して.NETで簡単なゲームを実装しようとしています。オブジェクトに対してバウンドするボールがあり、バウンドすると、System.Media:SoundPlayerを使用して非同期でサウンドを再生します。問題は、ほとんどの場合(常にではない)、サウンドが再生されている限り、インパクト時にボールがフリーズすることです。

これはWindowsXPで発生しますが、Windows7では発生しません。私は.NET3.5を使用しています。そして、最も奇妙なことは、アプリケーションWindows Media Playerを開いて、mp3を数秒間再生すると、問題が解消されることです。

SoundPlayerオブジェクトを初期化するコードは次のとおりです。

...そしてボールが障害物に当たると、この行は次のように呼び出されます。_playerBounce.Play();

この投稿で「Attempt#4」も試しました: System.Media.SoundPlayerを使用してサウンドファイルを非同期で再生するにはどうすればよいですか?

ネット上のどこかで見つけたアドバイスに基づくもう1つの必死の試みは、サウンドストリームをファイルに保存することでした。これは、SoundPlayerがファイルから初期化されたときにうまく機能することです。

それらの試みはどちらもうまくいきませんでした。

何か案は?

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

c# - バイトコードからのオーディオファイルの再生 (オーディオファイル形式はCCITT A-Lawです)

バイトコードからオーディオファイルを再生したい。私はすでにオーディオファイルのバイトコードを持っています。しかし、System.Media.SoundPlayer で再生すると、「{Sound API は PCM wave ファイルの再生のみをサポートしています。」} というエラーが表示されました。私の音声ファイル形式は (CCITT A-Law) です。この知識を持っている人は誰でも私と共有できますか??

ありがとう。

0 投票する
8 に答える
3604 参照

c# - SoundPlayerがメモリリークを引き起こしていますか?

私はC#で基本的なライティングアプリを書いていますが、入力時にタイプライターの音をプログラムに生成させたいと思っていました。RichTextBoxのKeyPressイベントを、キーが押されるたびにSoundPlayerを使用して短いwavファイルを再生する関数にフックしましたが、しばらくすると、コンピューターのクロールが遅くなり、プロセスをチェックしていることに気付きました。 .exeは5ギガバイトのRAMを使用していました。

私が使用しているコードは次のとおりです。

プログラムの開始時にグローバル変数としてSoundPlayerを初期化します。

次に、KeyPressイベントで私は単に電話します

誰かが大量のメモリ使用の原因を知っていますか?ファイルの長さは1秒未満なので、目詰まりしすぎないようにする必要があります。

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

c# - dotnet で信頼性の高い非同期 wav 再生を確保するにはどうすればよいですか?

dotnet でユーザー プロンプトとして wav ファイルを再生しています。私のコードはラップトップでは正常に動作しますが、ネットブックではサウンドがスキップされるようです。dotnet のネットブックで wav 再生の一貫性を確保するにはどうすればよいですか? ネットブックで時折再生の問題を引き起こす現在のコード:

サウンド名で呼び出すためにサウンドをディクショナリにプリロードする場合と同じ問題:

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

c# - SoundPlayer.PlaySync が途中で停止する

gui スレッドで wav ファイルを同期的に再生したいのですが、PlaySync への呼び出しが早期に返されます (再生が途中で停止します)。wav ファイルは 2 ~ 3 分です。

私のコードは次のようになります。

私が考えたいくつかのことは、ロードタイムアウト、および別のスレッドでオーディオを再生し、その後、GUI スレッドをサウンドファイルの持続時間まで強制的に待機させることにより、GUI を手動で「フリーズ」することです。ロードタイムアウトを長くしようとしましたが、何もしませんでした。

私/マイクロソフト以外の誰かによって書かれたコードを使用せずに wav ファイルの長さを取得する最善の方法が何であるかはよくわかりません。ファイル サイズがわかっているため、これは計算できると思います。すべてのエンコーディング プロパティ (ビットレート、サンプル レート、サンプル サイズなど) は、再生するすべてのファイルで一貫しています。この情報を使用して wav ファイルの長さを計算する方法を誰か詳しく説明できますか? つまり、PlaySync が早期に復帰する理由について誰も考えていない場合です。

編集:

注: 少し前に VB 6 で同様の問題が発生しましたが、これはタイムアウトが原因であり、ここでは問題ではないと思われます。短い (< 1 分) ファイルは正常に再生されるように見えるので、長いファイルを手動で編集してから、複数の呼び出しで個別に再生することにするかもしれません。

追加情報: 同じファイルが一貫して同時に停止することに気付きました。ファイルは Audacity を使用して作成されました。PlaySync が、私が Audacity に作成させたものとは異なるファイルの特定のエンコーディングを期待している可能性はありますか?