Ich versuche, das Windows Media Player-Steuerelement programmgesteuert zu erstellen, damit ich Initialisierungsfehler abfangen kann. Vorher, als ich einfach die Kontrolle über mein Formular fallen gelassen habe, hat alles gut gespielt. Aber jetzt, da ich versuche, programmgesteuert zu spielen, wird das Video nicht im Steuerelement angezeigt. Ich sehe nur schwarzes Video, aber ich höre das Audio.Windows Media Player-Video ist schwarz, wenn Steuerelement programmgesteuert erstellt wird
Irgendwelche Ideen?
public TrimVideoControl()
{
InitializeComponent();
// Try creating WMP control
// We do this here so we can gracefully catch errors if the control doesn't load
try
{
wmPlayer = new AxWMPLib.AxWindowsMediaPlayer();
((System.ComponentModel.ISupportInitialize)(wmPlayer)).BeginInit();
//SuspendLayout();
wmPlayer.CreateControl();
wmPlayer.Name = "wmPlayer";
wmPlayer.Ctlenabled = true;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TrimVideoControl));
wmPlayer.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("wmPlayer.OcxState")));
wmPlayer.Location = new Point(12, 13);
wmPlayer.Size = new Size(636, 358);
wmPlayer.enableContextMenu = true;
wmPlayer.stretchToFit = true;
wmPlayer.uiMode = "none";
wmPlayer.settings.autoStart = false;
wmPlayer.ErrorEvent += wmPlayer_ErrorEvent;
wmPlayer.MediaChange += wmPlayer_MediaChange;
wmPlayer.MediaError += wmPlayer_MediaError;
wmPlayer.OpenStateChange += wmPlayer_OpenStateChange;
wmPlayer.PlayStateChange += wmPlayer_PlayStateChange;
wmPlayer.Warning += wmPlayer_Warning;
this.Controls.Add(wmPlayer);
((System.ComponentModel.ISupportInitialize)(wmPlayer)).EndInit();
//this.ResumeLayout(false);
//this.PerformLayout();
//wmPlayer.Show();
//wmPlayer.BringToFront();
}
catch (Exception ex)
{
Logger.Error("Error creating WMP control: " + ex);
}
}
Das hat funktioniert! Vielen Dank. –