Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diego de Souza Silva

EMBED de ASX gerado dinamicamente

Recommended Posts

Boa Tarde,

 

Eu tenho um script asp que gera dinamicamente um arquivo de streaming de vídeo ASX. Em outro script eu uso esse asx para exibir o conteúdo do vídeo através de uma tag <OBJECT ...> e uma <EMBED ...> (pois o navegador Mozilla Firefox só suporta esta segunda opção).

 

Quando este script é acessado pelo Microsoft Internet Explorer, o vídeo é exibido perfeitamente, mas no firefox não funciona, e não consigo descobrir a causa.

 

Segue o código dos scripts:

 

getVideo.asp ( o gerador de asc dinâmico)

<% 
	If Session("usrid") = "" Then
		Response.Write "NOACCESS"
		Response.End
	End If
	
	Response.ContentType = "video/x-ms-asf" 
	Response.Expires = 0									
	Response.AddHeader "Pragma","No-Cache"  
	
	Set myDBConn = Server.CreateObject("ADODB.Connection")
		myDBConn.CommandTimeout = Application("db_CommandTimeout")
		myDBConn.CursorLocation = Application("db_CursorLocation")
		myDBConn.Open Application("db_ConnectionString"),	Application("db_RuntimeUserName"), Application("db_RuntimePassword")

	SQL = "SELECT [colunas] FROM [nome_tabela] WHERE id = " & Request("id")
	set resQry = myDBConn.Execute(SQL)
	set myDBConn = nothing
%><ASX version = "3.0">
<TITLE>[Titulo do sistema]</TITLE>
<ENTRY>
<TITLE><%= resQry("titulo_nomeFalsoDeColuna") %></TITLE>
<AUTHOR>[nome autor]</AUTHOR>
<COPYRIGHT>[COPYRIGHT]</COPYRIGHT>
<REF HREF = "<%= resQry("linkDaUrl_nomeFalsoDeColuna") %>" /></ENTRY>
</ASX>

default.asp (TAG q chama o script)

<OBJECT id="videoconferencia_player" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" width="100%" height="100%" CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft® Windows® Media Player components...">
					<param name="Volume" value="200">

					<param name="ShowDisplay" value="False">
					<param name="ShowControls" value="0">
					<PARAM NAME="ShowStatusBar" VALUE="1">
					<PARAM NAME="ShowAudioControls" VALUE="false">
					<PARAM NAME="ShowStatus" VALUE="false">

					<PARAM NAME="ShowStatusBar" VALUE="false">
					<PARAM NAME="ShowPositionControls" VALUE="False">
					<PARAM NAME="filename" value="<%= link_publicacao %>">
					<PARAM NAME="AutoStart" value="1">
					
					<!-- BEGIN PLUG-IN HTML FOR FIREFOX-->
					<EMBED id="videoconferencia_player"
						type="application/x-mplayer2" 
						pluginspage =" [url="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/""]http://www.microsoft.com/Windows/Downloads...iaPlayer/"[/url]
						src="<%= link_publicacao %>"
						name="videoconferencia_player"
						width="100%"
						height="100%"
						ShowControls=0
						AutoStart=true
						StretchToFit=1>
					</EMBED>
					<!-- END PLUG-IN HTML FOR FIREFOX-->
				</OBJECT>

Alguém sabe me dizer se existe alguma limitação no firefox que impede de ler e reproduzir o ASX gerado dinamicamente pelo ASP?

 

OBS: uso Internet Explorer 7 e Firefox 3.0.5, em ambos a versão do plugin do Windows Media Player é 9.00.00.4503

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste seu código no FF sem ter sido gerado dinamicamente e veja se funciona. Muitas vezes o IE aceita executar algumas "coisas" mesmo que estejam com pequenos problemas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste seu código no FF sem ter sido gerado dinamicamente e veja se funciona. Muitas vezes o IE aceita executar algumas "coisas" mesmo que estejam com pequenos problemas.

Bom, o asx semser gerado dinamicamente funciona sem problemas tanto em IE qnto em Mozilla Firefox, segue o código do asx:

 

teste.asx

<ASX version = "3.0">
<TITLE>Titulo Streaming</TITLE>
<ENTRY>
<TITLE>Titulo Aplicação</TITLE>
<AUTHOR>Titulo Aplicação</AUTHOR>
<COPYRIGHT>© Copyright 2008 - Titulo Empresa Ltda.</COPYRIGHT>
<REF HREF = "endereco_naopossopublicar" /></ENTRY>
</ASX>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui descobrir o motivo do problema.

O firefox chama a página duas vezes antes de efetivamente ler o conteúdo, na primeira ela lê o arquivo ASP esperando resultado HTML, então quando se muda o mime type ( linha de comando Response.ContentType = "ms-video-asx"), ele recarrega a página esperando dados que componham um arquivo de vídeo, e portanto ignora a sessão de servidor.

 

E se for ignorada a sessão, o script não libera o vídeo. Ou seja: a primeira vez havia instruções para se exibir o vídeo, mas o MIME Type era o padrão de qualquer página ASP, quando a instrução de mudar de ContentType chegou ao cliente Firefox, ele exigiu uma nova requisição com esse novo Mime Type, no entanto desprezando a sessão, mas sem as variáveis de sessão, não houve como liberar os dados do vídeo, e por isso este não era exibido.

 

Removendo o código de checagem de sessão, o vídeo roda normalmente nos dois browsers.

 

Pesquisei a respeito na internet e cheguei a conclusão através do link abaixo:

 

http://forums.techarena.in/media-player/1014710.htm

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.