2016-09-03 7 views
0

私は音楽を再生中にアニメーションgifを再生するはずのWindowsフォームアプリケーションを作成しています。C#WindowsフォームのWMPは、GIFを表示した後にサウンドの再生を停止します。

私はSoundPlayerを使いましたが、すべてがうまく機能しました。それから、SoundPlayerで複数のオーディオファイルを再生できないことがわかりました。これは問題でした(バックグラウンドミュージックと効果が必要です)。

私はDirectSoundを少し見ましたが、私のアプリケーションはDirectSound関連(デバイス、バッファなど)を行うたびに凍っていました。

今私はWMPを試していますが、最初は満足していましたが、GIF(Transparent、重要な場合)を有効にすると、GIFが停止するのを見ながらフレームなどのために、何か重いものを積み込んでいるようです。これは、オーディオとGIFが同時に再生されるたびに発生します。 SoundPlayerを使用すると、オーディオに影響を与えずに一度に20のアニメーションGIFを再生できました。

SoundPlayerの =一つだけのオーディオファイル、容認できない

DirectSoundを再び試みるかもしれない価値が何らかの理由で(私はこれの焦点を置くしたいため =フリーズ:?それをまとめると

WMPに関する質問、とにかくコードを紛失しました)

WMP =アニメーションGIFでうまく再生できません。

私は両方の.wavファイルと.mp3ファイルを再生しようとしましたが、違いはありません。 以前にwmp.dllのリファレンスを追加しました。

using System; 
using System.Windows.Forms; 
using System.Media;   

private void button2_Click(object sender, EventArgs e) 
      { 
       var player = new WMPLib.WindowsMediaPlayer(); 
       player.URL = "song.wav"; 
       pictureBox1.Visible = true; 
      } 

WMPについて知っておくべきことはありますか?他の方法をお勧めしますか? pocessが特定のメモリ使用量に達すると、オーディオが停止するように見えます。約45 MBで安定していますが、オーディオファイルを再生すると音量が上がり始め、停止すると約48 MBになり、45 MBに戻ります。

時間を割いて私を助けてくれてどうもありがとう。

EDIT:解像度が500x500のGIF画像を使用していましたが、SizeMode = StretchImageを使用して実際には小さく見えるようにしました(200x200)。この場合、音楽は約0.2秒間再生されました。私はリソースの画像を100x100にリサイズし、StretchImageを使って200x200として再表示し、2つのGIFを一度にロードした場合、約4秒で約8秒再生しました。 .mp3のビットレートを170KBに変更することはまったく役に立たなかった。私のGoogle Chromeは3GBのメモリを使い、まだ複数の動画を再生していますが、私のフォームは50MBも苦労もしていません。確かにGIFと曲を演奏する方法がなければなりません。何らかの種類のMemoryAssignLimitプロパティがありますか?それとも、WMPは大きなリソースになると失敗しますか?それはWinFormsによって設定された制限ですか?

答えて

0

続きを読むthis解決方法は、魅力、GIF、どこにも30の重なり合った曲のように機能し、私が欲しいのでなければ何も止まらない。すばらしいです。

関連する問題