Windows mdi child 格式的媒体播放器问题

Windows Media Player Problem in mdi child form

我有 2 种形式 (form1) 和 (form2), form2 有媒体播放器和组合框来选择视频 这是代码:

Public Class Form2
  Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
    If ComboBox1.SelectedItem = "Video 1" Then    
      On Error Resume Next
      IO.File.WriteAllBytes(IO.Path.GetTempPath & "\Video 1.mp4", My.Resources.Video_2)
      AxWindowsMediaPlayer1.URL = IO.Path.GetTempPath & "\Video 1.mp4"
      IO.File.Delete(IO.Path.GetTempPath & "\Video 1.mp4")
    End If

    If ComboBox1.SelectedItem = "Video 2" Then
      On Error Resume Next
      IO.File.WriteAllBytes(IO.Path.GetTempPath & "\Video 2.mp4", My.Resources.Video_2)
       AxWindowsMediaPlayer1.URL = IO.Path.GetTempPath & "\Video 2.mp4"
       IO.File.Delete(IO.Path.GetTempPath & "\Video 2.mp4")
    End If

    If ComboBox1.SelectedItem = "Video 3" Then
      On Error Resume Next
      IO.File.WriteAllBytes(IO.Path.GetTempPath & "\Video 3.mp4", My.Resources.Video_3)
      AxWindowsMediaPlayer1.URL = IO.Path.GetTempPath & "\Video 3.mp4"
      IO.File.Delete(IO.Path.GetTempPath & "\Video 3.mp4")
    End If
  End Sub
End Class

这段代码工作正常,直到我将 (form1) 更改为 parent 并且 (form2) 为 child 并使用此代码:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  Form2.StartPosition = FormStartPosition.Manual
  Form2.Left = 105
  Form2.Top = 50
  Form2.MdiParent = Me
End Sub

视频无法正确观看(只有一部分),好像视频比媒体播放器屏幕大,全屏模式也根本不起作用。 这是另一次没有进展的试验:

If ComboBox1.SelectedItem = "Video 1" Then
  Dim b As Byte() = My.Resources.Video_1
  Dim TheFIlePath As String = "Video 1.mp4"
  Dim TempFile As IO.FileStream = IO.File.Create(TheFIlePath)
  TempFile.Write(b, 0, b.Length)
  TempFile.Close()
  AxWindowsMediaPlayer1.URL = (TheFIlePath)
End If

我试过 stretchtofit 的 true 和 false 也尝试过这样的(尝试并捕获异常):

If ComboBox1.SelectedItem = "Video 1" Then

    Try
        AxWindowsMediaPlayer1.URL = "D:.mp4"
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End If

没有成功, 这是播放好的时候的视频截图:

这就是 form2 变成 mdi child 的时候:

经过大量搜索,我发现 windows 媒体播放器无法在 mdi 子窗体中全屏播放。

所以我没有使用 mdi 子窗体,而是用面板替换了它并添加了 AxWindowsMediaPlayer,全屏 属性 现在工作正常并且视频缩放正常。