Google Búsqueda personalizada

Regístrate gratis para participar de los foros, o si ya estás registrado haz login.

Aparecer reproductor solo si hay contenido para reproducir

comentario del autor Vie Dic 19, 2008 5:23 am
   
Hola, mi problema es el siguiente:
Trabajo con web content management y tiene unas plantillas de creación en las que le doy opción al usuario a que introduzca un video, luego en la plantilla de presentación ,que esta escrita en html, cargo un reproductor de windows media para reproducirlos sin necesidad de codecs por medio del siguiente código:

<OBJECT ID="MediaPlayer" WIDTH="192" HEIGHT="190" CLASSID="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
STANDBY="Loading Windows Media Player components..." TYPE="application/x-oleobject">
<PARAM NAME="FileName" VALUE=" NOMBRE DEL VIDEO">
<PARAM name="autostart" VALUE="false">
<PARAM name="ShowControls" VALUE="true">
<param name="ShowStatusBar" value="false">
<PARAM name="ShowDisplay" VALUE="false">
<EMBED TYPE="application/x-mplayer2" SRC="NOMBRE DEL VIDEO" NAME="MediaPlayer"
WIDTH="192" HEIGHT="190" ShowControls="1" ShowStatusBar="0" ShowDisplay="0" autostart="0"> </EMBED>
</OBJECT>

El problema es que cuando no introducen ningun video tambien se me carga el reproductor de windows pero sin nada para reproducir, lo que quiero conseguir es que aparezca el reproductor solo si el usuario a introducido algún video.

He estado buscando mucho sin solución, a ver si hay suerte y alguien me puede ayudar.

Gracias

Verme

Reputación

comentario Vie Dic 19, 2008 8:01 am
   
los datos que proporcionás no son suficientes, web content management es el nombre del producto que estás usando? en qué lenguaje está programado? tenés almacenada la cantidad de videos que subió la persona? deberías consultar ese valor y si es >1 mostrar el reproductor

si las plantillas son HTML, hay algún archivo donde puedas agregar funciones?

natiluv

Reputación

comentario del autor Vie Dic 19, 2008 2:31 pm
   
Web content management es una aplicación del web sphere portal(sirve para hacer portales) pero lo que me interesa es que tengo el codigo en html para ver todos los vídeos aunque no tenga codec, lo que no consigo es dar con el código que mire a ver si el componente esta vacío, he probado con un javascrip pero lo que sucede es que tengo que meter el código en html y el javascrip solo reconoce java(creo...) con lo que si lo pongo en javascirp, al visualizarlo me pone el código que pongo en java, no se si me explique muy bien, lo que necesito es hacer una condición en html o poner código en html dentro de una condición.
Los vídeos si que los tengo almacenados e indicandole la dirección puedo hacer que lo compruebe(creo...), solo permite almacenar un vídeo y opcional.Lo que no se es como hacer una condición en html(creo que no se puede) o sino poner el código en html dentro de la condición para que aparezca el reproductor si tiene contenido ese elemento.

Lo que necesito es el código html.

Verme

Reputación

asistió a la solución Sab Dic 20, 2008 3:45 pm
   
en las plantillas HTML quizás puedas insertar código JAVA dentro de alguna etiqueta que desconozco cuál es en el sistema que estás usando que permita que el código se ejecute (en vez de mostrarlo que es lo que decís que te está pasando)

o sino deberías insertar el condicional en algún otro archivo de los que compongan la aplicación, tendrías que buscar cuál el el archivo que corresponde a esa página

en HTML no es posible hacer lo que querés

natiluv

Reputación

comentario del autor Lun Dic 22, 2008 4:44 am
   
Muchas gracias, si alguien se le ocurre como puedo insertar el codigo este dentro de una condición le estaría enormemente agradecido si me lo comunicara, no es posible añadir en ninguna otra parte código que no sea en la plantilla de presentación(en html) que es la aplicación que se encarga de mostrar en pantalla el resultado.
Muchas gracias por su colaboración, espero continuen dandome ideas.

Un cordial saludo.

Verme

Reputación

asistió a la solución Vie Dic 26, 2008 12:49 pm
   
realmente no entendi que es lo que queres hacer.
lo que te comento es que con ese codigo solo podes ver 1 video no 2
no tenes ningun codigo para ver varios videos a la ves

lo del usuario que sube el video tiene que estar escrito la direccion de donde se encuentra el video.

tal ves este codigo te sirva estudialo aca no se ve el video si se reproduce

<head>
<script src="ac_activex.js" type="text/javascript"></script>
</head>
<body>

<div id="embed1" style="position:absolute; overflow:hidden; left:240px; top:80px; width:300px; height:200px; z-index:0">
<script type="text/javascript">
AC_RunMMContent('codebase','http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715','id','embed1','width','300','height','200','hidden','true','autostart','true','src','images/las divinas.avi');
</script>
<noscript>
<object id="embed1" width=300 height=200 classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715">
<param name="filename" value="images/las divinas.avi">
<param name="autostart" value="true">
<embed src="images/las divinas.avi" width=300 height=200 hidden=true autostart="true" type="application/x-mplayer2"></embed>
</object>
</noscript>
</div>

</body>
el ac_activex.js

//
//
function AC_AX_RunContent(){
var ret = AC_GetArgs(arguments);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_RunFlashContent(){
var ret =
AC_GetArgs
( arguments, "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
, "application/x-shockwave-flash"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_RunMMContent(){
var ret =
AC_GetArgs
( arguments, "filename", "clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
, "application/x-mplayer2"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_RunRealContent(){
var ret =
AC_GetArgs
( arguments, "src", "clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"
, "audio/x-pn-realaudio-plugin"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_RunQTContent(){
var ret =
AC_GetArgs
( arguments, "src", "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
, "video/quicktime"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_Generateobj(objAttrs, params, embedAttrs)
{
var str = '<object ';
for (var i in objAttrs)
str += i + '="' + objAttrs[i] + '" ';
str += '>';
for (var i in params)
str += '<param name="' + i + '" value="' + params[i] + '" /> ';
str += '<embed ';
for (var i in embedAttrs)
str += i + '="' + embedAttrs[i] + '" ';
str += ' ></embed></object>';

document.write(str);
}

function AC_GetArgs(args, srcParamName, classid, mimeType){
var ret = new Object();
ret.embedAttrs = new Object();
ret.params = new Object();
ret.objAttrs = new Object();
for (var i=0; i < args.length; i=i+2){
var currArg = args[i].toLowerCase();
switch (currArg){
/// embed args
case "pluginspage":
case "type":
ret.embedAttrs[args[i]] = args[i+1];
break;
/// object args
case "data":
case "codebase":
case "classid":
case "id":
ret.objAttrs[args[i]] = args[i+1];
break;
/// common args
case "width":
case "height":
case "align":
case "vspace":
case "hspace":
case "class":
case "title":
case "accesskey":
case "name":
case "tabindex":
ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
break;
// special args
case "src":
ret.embedAttrs["src"] = args[i+1];
ret.params[srcParamName] = args[i+1];
break;
break;
// params
default:
ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
}
}

if (classid) ret.objAttrs["classid"] = classid;
if (mimeType) ret.embedAttrs["type"] = mimeType;

return ret;
}


aca para que se vea

<head>
<script src="ac_activex.js" type="text/javascript"></script>
</head>

<body>

<div id="embed1" style="position:absolute; overflow:hidden; left:240px; top:80px; width:300px; height:200px; z-index:0">
<script type="text/javascript">
AC_RunMMContent('codebase','http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715','id','embed1','width','300','height','200','autostart','true','src','images/las divinas.avi');
</script>
<noscript>
<object id="embed1" width=300 height=200 classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715">
<param name="filename" value="images/las divinas.avi">
<param name="autostart" value="true">
<embed src="images/las divinas.avi" width=300 height=200 autostart="true" type="application/x-mplayer2"></embed>
</object>
</noscript>
</div>

</body>

ac_activex.js

//
//
function AC_AX_RunContent(){
var ret = AC_GetArgs(arguments);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_RunFlashContent(){
var ret =
AC_GetArgs
( arguments, "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
, "application/x-shockwave-flash"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_RunMMContent(){
var ret =
AC_GetArgs
( arguments, "filename", "clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
, "application/x-mplayer2"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_RunRealContent(){
var ret =
AC_GetArgs
( arguments, "src", "clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"
, "audio/x-pn-realaudio-plugin"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_RunQTContent(){
var ret =
AC_GetArgs
( arguments, "src", "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
, "video/quicktime"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_Generateobj(objAttrs, params, embedAttrs)
{
var str = '<object ';
for (var i in objAttrs)
str += i + '="' + objAttrs[i] + '" ';
str += '>';
for (var i in params)
str += '<param name="' + i + '" value="' + params[i] + '" /> ';
str += '<embed ';
for (var i in embedAttrs)
str += i + '="' + embedAttrs[i] + '" ';
str += ' ></embed></object>';

document.write(str);
}

function AC_GetArgs(args, srcParamName, classid, mimeType){
var ret = new Object();
ret.embedAttrs = new Object();
ret.params = new Object();
ret.objAttrs = new Object();
for (var i=0; i < args.length; i=i+2){
var currArg = args[i].toLowerCase();
switch (currArg){
/// embed args
case "pluginspage":
case "type":
ret.embedAttrs[args[i]] = args[i+1];
break;
/// object args
case "data":
case "codebase":
case "classid":
case "id":
ret.objAttrs[args[i]] = args[i+1];
break;
/// common args
case "width":
case "height":
case "align":
case "vspace":
case "hspace":
case "class":
case "title":
case "accesskey":
case "name":
case "tabindex":
ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
break;
// special args
case "src":
ret.embedAttrs["src"] = args[i+1];
ret.params[srcParamName] = args[i+1];
break;
break;
// params
default:
ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
}
}

if (classid) ret.objAttrs["classid"] = classid;
if (mimeType) ret.embedAttrs["type"] = mimeType;

return ret;
}

amigo_uy

Reputación

asistió a la solución Vie Dic 26, 2008 12:54 pm
   
aca te lo puse para bajar

ac_activex.2.txt  (2.75 kb) -

2.txt  (962 kb) -

ac_activex.txt  (2.75 kb) -

1.txt  (984 kb) -

amigo_uy

Reputación

comentario del autor Lun Dic 29, 2008 6:18 am
   
Muchas gracias por vuestra colaboración, ya encontre la solución colocando unos parametros en la llamada al vídeo.
Estoy muy agradecido y no dudeis que ayudare y seguire exponiendo todas mis dudas en este maravilloso foro.
Muy agradecido
Verme

Verme

Reputación

asistió a la solución Lun Dic 29, 2008 11:14 am
   
si podes ponerlos estaria bueno para otros usuarios

amigo_uy

Reputación

comentario del autor Lun Dic 29, 2008 11:33 am
   
Tienes toda la razón, no me había dado cuenta, lo unico que es un código de llamada para el web content management que no se si sera de utilidad con otros programas.
El código es el siguiente:
<Element context="current" type="content" key="video" start="Para verlo en grande haz doble 'click' cuando este reproduciendo. &lt;br&gt;&lt;OBJECT ID='MediaPlayer' WIDTH='252' HEIGHT='250' CLASSID='CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95' STANDBY='Loading Windows Media Player components...' TYPE='application/x-oleobject'&gt;
&lt;PARAM NAME='FileName' VALUE='" end="'&gt;&lt;PARAM name='autostart' VALUE='false'&gt;&lt;PARAM name='ShowControls' VALUE='true'&gt;&lt;param name='ShowStatusBar' value='false'&gt;&lt;PARAM name='ShowDisplay' VALUE='false'&gt;
"/> <Element context="current" type="content" key="video" start="&lt;EMBED TYPE='application/x-mplayer2' SRC='" end="' NAME='MediaPlayer' WIDTH='252' HEIGHT='250' ShowControls='1' ShowStatusBar='0' ShowDisplay='0' autostart='0' &gt; &lt;/EMBED&gt;&lt;/OBJECT&gt;"/>

Espero que sea de utilidad

Verme

Reputación



Hacer una pregunta

Boletín de Noticias

Reciba noticias de tecnología, tips de reparación y ofertas exclusivas.



Reglamento / P+F

Foros

Miembros / Expertos