System.Media.SoundPlayer
クラスを使用してC#でメディアプレーヤーを作成してい.wav
ますが、ファイルを再生するだけで、これにはボリュームコントロールがなく、media-progessbar
. それで、より良い組み込みクラスまたはカスタムクラスはありますか。ある場合は指定してください。または、それと並行して動作するものがあったとしても。
user2750987
質問する
24937 次
5 に答える
1
ツールボックスで利用可能な MediaElement を使用する場合、ファイル拡張子について心配する必要はありません。
これはあなたを助けることができるスニペットです:
private void button4_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.AddExtension = true;
ofd.DefaultExt = "*.*";
ofd.Filter = "Media(*.*)|*.*";
ofd.ShowDialog();
mediaElement1.MediaOpened += new RoutedEventHandler(mediaElement1_MediaOpened);
mediaElement1.Source = new Uri(ofd.FileName);
}
private void button1_Click(object sender, RoutedEventArgs e)
{
mediaElement1.Play();
}
private void button3_Click(object sender, RoutedEventArgs e)
{
mediaElement1.Stop();
}
private void button2_Click(object sender, RoutedEventArgs e)
{
mediaElement1.Pause();
}
于 2013-09-24T15:54:01.530 に答える
1
さらに制御したい場合は、NAudio ( http://naudio.codeplex.com/ ) または SharpDX ( http://sharpdx.org/ ) を使用してください。SharpDX を使用して、終了した曲の再生、アナウンスのダッキングなどのスムーズなフェードアウトを備えた複数のサウンド カード (異なるゾーン用) を駆動するメディア プレーヤーを構築しました。
于 2013-09-24T16:00:53.957 に答える
1
Windows Media Player コントロールを使用できます。MSDNに例が示されています。
private void PlayFile(String url)
{
Player = new WMPLib.WindowsMediaPlayer();
Player.URL = url;
Player.controls.play();
}
再生をより細かく制御したいが、WMP に縛られたくない場合は、オープンソースのメディア ライブラリであるNAudioの使用を検討できます。
于 2013-09-17T09:54:12.330 に答える