我有一个根据HTTP参数'id'
服务器端:
Public vidurl As String
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim id As String = Request.QueryString("id")
Dim DT As New DataTable
Dim vidInfo As VideoInfo
Try
If id IsNot Nothing Then
Dim SQLConnection_Cont As New SqlConnection(SQLConntStr)
DT = f.GetVideoInfo(id, SQLConnection_Cont)
If DT IsNot Nothing Then
If DT.Rows.Count > 0 Then
vidInfo = New VideoInfo With {
.ID = DT.Rows(0).Item("FTPID"),
.Processed = DT.Rows(0).Item("Processed"),
.URL = DT.Rows(0).Item("URL"),
.VideoName = DT.Rows(0).Item("VideoName"),
.VidID = DT.Rows(0).Item("VidID"),
.Created = DT.Rows(0).Item("Created"),
.MonthDiff = DT.Rows(0).Item("Monthdiff")}
If vidInfo.MonthDiff = 0 Then
vidurl = "http://webpath.com/virtualdirectory/content/" & vidInfo.VideoName
End If
End If
End If
End If
Catch ex As Exception
WriteExToFile("Video.aspx.vb", ex.ToString)
End Try
End Sub
客户端:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Video Player</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<div>
<div id="vidplay">
<video height="400" controls style="position: relative; top: 23px;">
<source src=<%= vidurl %> type="video/mp4" codecs="avc1.42E01E, mp4a.40.2"/>
<object data=src=<%= vidurl %> width="320" height="240"></object>
</video>
</div>
</div>
</form>
</body>
</html>
所以我在全局变量vidurl
当我在Google Chrome for Desktop上播放时,我只会听到视频中的声音,并带有黑色图像。
当我在手机上播放时,会出现黑色视频,但它根本不播放任何内容。
可能是什么问题?
请注意,虚拟目录中的所有视频均采用mp4格式。
更新
我在我的视频中找到了编解码器信息,
它说:MPEG-4 Video (mp4v)
这可能是问题吗?
视频适用于手机的优先级。
答案 0 :(得分:3)
某些浏览器不支持某些文件格式。尝试添加其他网络视频格式来源。
<source src="somevideo.webm" type="video/webm">
答案 1 :(得分:1)
不幸的是,在所有浏览器中播放视频都是痛苦的。对我而言仍然有效的解决方案是mediaelement.js(即使是ie8)。设置非常简单,是前端世界最好的大脑推荐的相当丰富的图书馆。唯一的问题是在使用闪回后备时很难使其响应。
即使您提供了所有可能的格式,您仍会看到多个问题,例如提供错误的视频时间,跨设备的不同控制选项。还有一些转换器在保持Web标准方面不能很好地工作。对我来说最好的一个是mac http://www.mirovideoconverter.com/。格式/编解码器的支持也因浏览*操作系统*安装的程序而异,所以总是很好地使用一些东西作为后备(闪存)。
除了mediaelement之外,你可以使用其他几个较新的库,但在我的测试中,大多数都工作得非常糟糕。最好的一个是video.js(polyfill一样)和爆米花播放器。
答案 2 :(得分:0)
好吧,我不知道您的代码是否与您的示例代码相同,但是您可以根据示例代码尝试一些建议
<video height="400" controls style="position: relative; top: 23px;">
<source src="<%= vidurl %>" type="video/mp4" codecs="avc1.42E01E, mp4a.40.2"/>
<object data-src="<%= vidurl %>" width="320" height="240"></object>
</video>
<%= vidurl %>
data=src
更改为data-src
希望它有所帮助;)
答案 3 :(得分:0)
只需在视频代码中添加playsinline
属性。
<video playsinline autoplay loop muted style="min-width:100%; min-height:100%;" >
<source type="video/mp4" src="//bg.cdn.ustudio.com/app/transcodes/TQAdh6DJdtuY.mp4">
<source type="video/webm" src="//bg.cdn.ustudio.com/app/transcodes/TuX1xml2yZsS.webm">
</video>