Foxtable(狐表)用户栏目专家坐堂 → 在foxtable中播放视屏 怎么判断panel中的mplayer有无内容?


  共有2833人关注过本帖树形打印复制链接

主题:在foxtable中播放视屏 怎么判断panel中的mplayer有无内容?

帅哥哟,离线,有人找我吗?
李孝春
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
在foxtable中播放视屏 怎么判断panel中的mplayer有无内容?  发帖心情 Post By:2021/1/8 16:00:00 [只看该作者]

在foxtable中播放视屏 怎么判断panel中的mplayer有无内容?

暂停播放的代码如下:
e.Form.Controls("Panel2").Basecontrol.controls("mplayer").ctlcontrols.pause

怎么实现,当mplayer没有内容时,提示需要加载文件,当有内容时,运行上述暂停播放代码

参照例子:
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=53572&authorid=0&page=0&star=1

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/8 16:04:00 [只看该作者]

https://www.baidu.com/baidu?word=vb.net%20mediaplayer

https://www.cnblogs.com/chen-lhx/p/6394782.html



 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)https://www.baidu.com/baidu?word=v...  发帖心情 Post By:2021/1/8 16:47:00 [只看该作者]

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:窗口,文件管理,停止播放,Click
详细错误信息:
引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常。

当播放器没有视频或者没有打开的时候  运行一楼代码出现这个错误 
想在运行暂停代码之前增加一个判断  如果没有视频或者没有打开时  提示添加文件  反之就运行暂停代码

网上我看了一下 没有看明白

If e.Form.Controls("Panel2").Basecontrol.controls("mplayer").url <>"" Then
    e.Form.Controls("Panel2").Basecontrol.controls("mplayer").ctlcontrols.stop
End If
写了这个代码  一样会提示上面的错误

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/8 16:59:00 [只看该作者]

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=53572&authorid=0&page=0&star=2,看13楼,16楼

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)http://www.foxtable.com/bbs/dispbb...  发帖心情 Post By:2021/1/8 17:48:00 [只看该作者]


更改后  问题还是一样出错
如果当前已经打开过 视频   再次打开别的视频会自动暂停当前已经打开的视频
如果当前没有打开过视频  会出现错误提示

以下内容是专门发给有点蓝浏览



.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:窗口,文件管理,停止播放,Click
详细错误信息:
引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常。

计时器代码:

e.Form.TimerEnabled = False

Dim mplayer As new AxWMPLib.AxWindowsMediaPlayer()
mplayer.name = "mplayer"
mplayer.Dock = System.Windows.Forms.DockStyle.Fill
e.Form.Controls("Panel1").Basecontrol.controls.add(mplayer)

'MessageBox.Show(play)
mplayer.settings.enableErrorDialogs=False  '用于设置播放rmvb



停止播放按钮代码:
e.Form.Controls("Panel2").Basecontrol.controls("mplayer").ctlcontrols.pause

双击打开文件代码:
Dim pc2 As WinForm.PictureBox = Forms("文件管理").Controls("PictureBox1")
Dim kp As WinForm.TabControl = Forms("文件管理").Controls("TabControl1")
Dim web1 As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
If Tables("文件附件").Current Is Nothing Then
    Return
Else
    Dim dr As DataRow = Tables("文件附件").Current.DataRow
    Dim fl As String =  ProjectPath & "Reports\" &  dr("文件名")
    wjdz=fl
    If FileSys.FileExists(fl) AndAlso CRCCheckFile(fl) = dr.SQLGetValue("CRC值") Then '如果本地存在同名文件且CRC校验值相同
        '则直接使用本地文件
……
        Else If fl.EndsWith(".mp4") OrElse fl.EndsWith(".wmv") OrElse fl.EndsWith(".mpg") OrElse fl.EndsWith(".avi") OrElse fl.EndsWith(".m2ts") OrElse fl.EndsWith(".mp3") Then
            kp.SelectedIndex=3
            e.Form.Controls("Panel2").Basecontrol.controls("mplayer").url = fl
   ……
        End If
    Else '否则从数据库提取文件
        If dr.SQLLoadFile("附件",fl) = False Then '如果提取文件失败
            Messagebox.Show("附件提取失败,可能并不存在附件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Return
        Else
          ……
                e.Form.Controls("Panel2").Basecontrol.controls("mplayer").url = fl
           ……
            End If
        End If
    End If
End If
Dim zt As WinForm.Button = Forms("文件管理").Controls("停止播放")
zt.PerformClick
红色部分会报错:

[此贴子已经被作者于2021/1/8 17:56:45编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/9 9:59:00 [只看该作者]

e.Form.TimerEnabled = False

Dim mplayer As new AxWMPLib.AxWindowsMediaPlayer()
ctype(mplayer,System.ComponentModel.ISupportInitialize).BeginInit()
mplayer.name = "mplayer"
mplayer.Dock = System.Windows.Forms.DockStyle.Fill
e.Form.Controls("Panel2").Basecontrol.controls.add(mplayer)
ctype(mplayer,System.ComponentModel.ISupportInitialize).EndInit()

 回到顶部