none
vb2008 用 Panel控件播放avi文件 RRS feed

  • 问题

  • 想使用Panel控件播放指定路径的avi视频文件,看了置顶的帖子,是下面的VB.NET代码。


    Imports Microsoft.DirectX.AudioVideoPlayback  

    Public Class Form1

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

            Dim videoFile As Audio = New Audio("D:\Video1.avi")

            videoFile.Owner = Panel1

            videoFile.Play()

        End Sub 

    End Class

     

    已经正确引用了Microsoft.DirectX.AudioVideoPlayback 组件了,只是指定播放容器的时候没有办法使用这这个代码“videoFile.Owner = Panel1

    ”,提示是“‘Owner’不是Microsoft.DirectX.AudioVideoPlayback”的成员。我用的是“vb2008速成班”


    请问各位,我应该怎么指定播放容器为Panel控件呢?


    顺便问一下,则么样控制里面的avi文件暂停和继续播放呢?

    2011年7月27日 10:20

答案

全部回复

  • 您好

    有考慮使用 AxWindowsMediaPlayer 嗎?

    http://www.dotblogs.com.tw/larrynung/archive/2009/03/01/7325.aspx


    歡迎參觀我的Blog.NET菜鳥自救會
    2011年7月27日 11:32
  • 您好!感謝你的回答。

    我試過用WindowsMediaPlayer控件,但是,播放效果不是很理想。因為播放的視頻像素不高。用WindowsMediaPlayer時沒有辦法把我的控件的的大小全部填充滿。本來用vb6.0的時候使用picture控件去播放的,能把控件全部填充满。在vb2008時,說是用Panel控件可以代替picture控件。所以希望能有好的解決方法……


    2011年7月28日 1:50
  • 用错类了吧 Dim videoFile As Video = New Video ("D:\Video1.avi")
    http://feiyun0112.cnblogs.com/
    • 已标记为答案 abcsai 2011年7月29日 4:44
    2011年7月28日 3:14
    版主
  • 实在是太感谢您了,真的类的错误。您真是高人啊!

    我用的这样的读取路径的方法。Dim videoFile As Video = New Video(Application.StartupPath & "\avi\123.avi")

    但是试运行的时候有下面的提示,好奇怪

    DLL“C:\windows\assembly\GAC\Microsoft.DirectX\1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.dll”正试图在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。

    再请问一下,怎么样控制Panel控件的影像呢?想暂停,和停止,再播放。还有,怎么能把控件全部填充满。因为影响像素不高。这方面的资料实在少,希望您能帮帮我。再次感谢……


    2011年7月28日 3:38