0

System.Media.SoundPlayerクラスを使用してC#でメディアプレーヤーを作成してい.wavますが、ファイルを再生するだけで、これにはボリュームコントロールがなく、media-progessbar. それで、より良い組み込みクラスまたはカスタムクラスはありますか。ある場合は指定してください。または、それと並行して動作するものがあったとしても。

4

5 に答える 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();

    }

詳細については、http: //bitsandbinaries.wordpress.com/net-programming/wpfwindows-presentation-foundation/a-simple-media-player-program-in-c-net-4-0/を参照してください。

于 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 に答える