2015-06-18 4 views
5

У меня есть сайт ASP, который играет видео в зависимости от параметра 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 для рабочего стола, я слышу только звук в видео с черным изображением.

Когда я воспроизвожу его на мобильном устройстве, появляется черное видео, но оно вообще ничего не играет.

В чем может быть проблема?

Обратите внимание, что все видео в виртуальном каталоге находятся в формате mp4.

UPDATE:

Я пошел в Codec Информация в моем видео,

Он говорит: MPEG-4 Video (mp4v)

Может ли это быть проблема?

Приоритет заключается в том, чтобы видео работало на мобильных телефонах.

+1

Можете ли вы поместить общедоступную ссылку на короткий/маленький тестовый видеоклип? Обычно звук без видео означает, что по крайней мере Chrome понял ** аудиокодек **, но не ** видеокодек **, следовательно, звук без изображения. Что касается мобильных устройств, значит ли это Android или iOS? Я думаю, что iOS только хочет MP4 с звуком AAC (а не MP3) –

+0

Скорее всего, клипы не работают на мобильных телефонах, просто скопируйте клипы на мобильный для тестирования напрямую. – nghiavt

+0

@nghiavt Мне жаль, что не объясните больше? – HelpASisterOut

ответ

3

Некоторые форматы файлов не поддерживаются в некоторых браузерах. Попробуйте добавить дополнительные источники форматов веб-видео.

<source src="somevideo.webm" type="video/webm"> 
1

К сожалению, воспроизведение видео по всем браузерам - это боль в ***. Для меня решение, которое все еще работает лучше всего, - mediaelement.js (даже ie8). Настроить довольно просто, и это довольно распространенная библиотека, рекомендованная лучшими мозгами в мире переднего конца. Единственная проблема заключается в том, что очень сложно сделать ее отзывчивой при использовании резервной копии Flash.

Даже если вы поставляете все возможные форматы, вы все равно увидите несколько проблем, таких как предоставление неправильного времени видео, различные варианты управления на разных устройствах. Также некоторые преобразователи не работают хорошо, когда речь заходит о соблюдении стандартов для Интернета. лучший для меня - http://www.mirovideoconverter.com/ для mac. Также поддержка форматов/кодеков варьируется в зависимости от установленных программ * операционной системы *, поэтому всегда полезно использовать что-то в качестве резервного (flash).

Есть несколько других более новых библиотек, которые вы можете использовать в других местах, но в моем тесте большинство из них работало довольно плохо. Лучший из них - video.js (polyfill alike) и попкорн-плеер.

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> 
  1. заключите <%= vidurl %> цитатами
  2. изменить ваш объект data=src к data-src

надеюсь, что это помогает;)

Смежные вопросы