Boa tarde a todos,
Percebi três problemas mais não tenho certeza se são realmente problemas com a ferramenta:
Problema 1:
com relação ao exemplo 10 disponivel para teste se não me engano, tem o objetivo de Reproduzir um vídeo e permitir que o usuário selecione o idioma do áudio, através do pressionamento das teclas vermelha e verde do controle remoto.
quando seleciono a tecla desejada me retorna o seguinte erro :
Ginga-NCL Emulator v1.1
Copyright PUC-Rio (Laboratorio TeleMidia), 1989-2007
Exception in thread "Thread-15" java.lang.NullPointerException
at br.pucrio.telemidia.ginga.core.player.av.JMFPlayer.<init>(Unknown Source)
at br.pucrio.telemidia.ginga.ncl.adapters.av.jmf.JmfPlayerAdapter.create
Player(Unknown Source)
at br.pucrio.telemidia.ginga.ncl.adapters.DefaultFormatterPlayerAdapter.
prepare(Unknown Source)
at br.pucrio.telemidia.ginga.ncl.FormatterScheduler.runAction(Unknown Source)
at br.pucrio.telemidia.ginga.ncl.FormatterScheduler.runActionOverSwitch(
Unknown Source)
at br.pucrio.telemidia.ginga.ncl.FormatterScheduler.runAction(Unknown Source)
at br.pucrio.telemidia.ginga.ncl.FormatterScheduler.runAction(Unknown Source)
at br.pucrio.telemidia.ginga.ncl.model.link.LinkSimpleAction.run(Unknown Source)
at br.pucrio.telemidia.ginga.ncl.model.link.LinkRepeatAction.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Problema 2 e 3:
Este tem o objetivo de simular um menu de DVD.
Quando seleciono o item desejado no menu, o video não esta começando apartir da ancora e sim do começo do video mais quando chega ao final demarcado pela ancora ele termina normalmente, ou seja não esta obedecendo o "begin" da ancora esta obedecendo somente o "end".
O outro problema é com relação a tecla PAUSE que não responde ao click do botão!!!
O codigo segue abaixo para os problemas 2 e 3.
Lembrando que na versão anterior tanto as ancoras como a seleção de audio estão funcionando normalmente!!!!!
<?xml version="1.0" encoding="ISO-8859-1"?>
<ncl id="MenuDVD" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
<head>
<regionBase>
<region id="rgTV" width="70%" height="70%">
<region id="rgFundoMenu" width="100%" height="100%" />
<region id="rgVideo" width="100%" height="100%" />
<region id="leftCol" left="4%" top="0" width="3%" height="100%" zIndex="1">
<region id="rgOpcao1" top="41%" width="100%" height="28"/>
<region id="rgOpcao2" top="53%" width="100%" height="28"/>
<region id="rgOpcao3" top="63%" width="100%" height="28"/>
<region id="rgOpcao4" top="73%" width="100%" height="28"/>
<region id="rgOpcao5" top="83%" width="100%" height="28"/>
</region>
<region id="rightCol" left="54.7%" top="0" width="3%" height="100%" zIndex="1">
<region id="rgOpcao6" top="41.5%" width="100%" height="28"/>
<region id="rgOpcao7" top="53%" width="100%" height="28"/>
<region id="rgOpcao8" top="66%" width="100%" height="28"/>
</region>
</region>
</regionBase>
<descriptorBase>
<descriptor id="dFundoMenu" region="rgFundoMenu" />
<descriptor id="dVideo" region="rgVideo" />
<descriptor id="dOpcao1" region="rgOpcao1" focusIndex="1"
moveDown="2" moveUp="8" moveRight="6" focusBorderWidth="0"
focusSrc="media/play.png"/>
<descriptor id="dOpcao2" region="rgOpcao2" focusIndex="2"
moveDown="3" moveUp="1" moveRight="7" focusBorderWidth="0"
focusSrc="media/play.png"/>
<descriptor id="dOpcao3" region="rgOpcao3" focusIndex="3"
moveDown="4" moveUp="2" moveRight="8" focusBorderWidth="0"
focusSrc="media/play.png"/>
<descriptor id="dOpcao4" region="rgOpcao4" focusIndex="4"
moveDown="5" moveUp="3" moveRight="8" focusBorderWidth="0"
focusSrc="media/play.png"/>
<descriptor id="dOpcao5" region="rgOpcao5" focusIndex="5"
moveDown="6" moveUp="4" moveRight="8" focusBorderWidth="0"
focusSrc="media/play.png"/>
<descriptor id="dOpcao6" region="rgOpcao6" focusIndex="6"
moveDown="7" moveUp="5" moveLeft="1" focusBorderWidth="0"
focusSrc="media/play.png"/>
<descriptor id="dOpcao7" region="rgOpcao7" focusIndex="7"
moveDown="8" moveUp="6" moveLeft="2" focusBorderWidth="0"
focusSrc="media/play.png"/>
<descriptor id="dOpcao8" region="rgOpcao8" focusIndex="8"
moveDown="1" moveUp="7" moveLeft="3" focusBorderWidth="0"
focusSrc="media/play.png"/>
</descriptorBase>
<connectorBase>
<causalConnector id="onEndStart">
<simpleCondition role="onEnd"/>
<simpleAction role="start" max="unbounded" qualifier="seq"/>
</causalConnector>
<causalConnector id="onSelectionStopStart">
<simpleCondition role="onSelection"/>
<compoundAction operator="seq">
<simpleAction role="stop" max="unbounded" qualifier="seq"/>
<simpleAction role="start" max="unbounded" qualifier="seq"/>
</compoundAction>
</causalConnector>
<causalConnector id="onKeySelectionPause">
<connectorParam name="keyCode" />
<simpleCondition role="onSelection" key="$keyCode" />
<compoundAction operator="par">
<simpleAction role="pause" />
</compoundAction>
</causalConnector>
</connectorBase>
</head>
<body>
<port id="pInicio" component="cMenu"/>
<media id="setttings" type="application/x-ginga-settings">
<property name="currentFocus" value="1"/>
</media>
55 comentários
O exemplo está exatamente igual ao do site? Testei em 2 maquinas Diferentes e funcionou. A sua máquina toca o video do exemplo 10 (fora do Emulador, no Windows Media Player, por exemplo)? Problema 2 e 3:
Vou dar uma analisada no seu NCL. Um abraço,
Rafael
xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile"> <head> <regionBase>
<region id="rgTV" width="100%" height="100%">
<region id="rgVideo1" left="25%" top="25%"
width="50%" height="50%" zIndex="0"> <region id="rgBotaoVermelho" left="3%" bottom="3%"
width="130" height="70" zIndex="1" /> <region id="rgBotaoVerde" right="3%" bottom="3%"
width="130" height="70" zIndex="1" /> </region>
</region>
</regionBase> <descriptorBase>
<descriptor id="dVideo1" region="rgVideo1" />
<descriptor id="dVideo3" region="rgVideo1">
<descriptorParam name="soundLevel" value="0" />
</descriptor>
<descriptor id="dAudio1" />
<descriptor id="dBotaoVermelho" region="rgBotaoVermelho" />
<descriptor id="dBotaoVerde" region="rgBotaoVerde" />
</descriptorBase> <ruleBase>
<rule id="rPt" var="idioma" comparator="eq" value="pt" />
<rule id="rEn" var="idioma" comparator="eq" value="en" />
</ruleBase> <connectorBase>
<causalConnector id="onBeginStartN">
<simpleCondition role="onBegin"/>
<simpleAction role="start" max="unbounded" qualifier="par"/>
</causalConnector> <causalConnector id="onEndStopN">
<simpleCondition role="onEnd"/>
<simpleAction role="stop" max="unbounded" qualifier="par"/>
</causalConnector> <causalConnector id="onEndStart">
<simpleCondition role="onEnd"/>
<simpleAction role="start"/>
</causalConnector> <causalConnector id="onKeySelectionSetNStartNStopNAbortN">
<connectorParam name="keyCode" />
<connectorParam name="valueSet" />
<simpleCondition role="onSelection" key="$keyCode" />
<compoundAction operator="seq">
<simpleAction role="set" value="$valueSet"
max="unbounded" qualifier="par"/>
<simpleAction role="start"
max="unbounded" qualifier="par"/>
<simpleAction role="stop"
max="unbounded" qualifier="par"/>
<simpleAction role="abort"
max="unbounded" qualifier="par"/>
</compoundAction>
</causalConnector>
</connectorBase> </head> <body> <port id="pInicio" component="video1" /> <media type="application/x-ginga-settings" id="nodeSettings">
<property name="idioma" />
</media> <media type="video/mpeg" id="video1" src="media/PauBrasil.mpg"
descriptor="dVideo1" /> <media type="video/mpeg" id="video2" src="media/abertura.mpg"
descriptor="dVideo1" /> <media type="image/gif" id="botaoVermelho"
src="media/botao_vermelho.gif" descriptor="dBotaoVermelho"/>
<media type="image/gif" id="botaoVerde"
src="media/botao_verde.gif" descriptor="dBotaoVerde" /> <context id="contextoFilme">
<port id="pVideo3" component="video3" /> <media type="video/mpeg" id="video3"
src="media/Dali.mpg" descriptor="dVideo3" /> <switch id="switchAudioIdioma">
<bindRule rule="rPt" constituent="audio1" />
<bindRule rule="rEn" constituent="audio2" /> <media type="audio/mp3" id="audio1"
src="media/audio1.mp3" descriptor="dAudio1" />
<media type="audio/mp3" id="audio2"
src="media/audio2.mp3" descriptor="dAudio1" />
</switch> <link id="lVideo3AudioStart"
xconnector="connectors#onBeginStartN">
<bind component="video3" role="onBegin" />
<bind component="switchAudioIdioma" role="start" />
</link> <link id="lVideo3AudioStop"
xconnector="connectors#onEndStopN">
<bind component="video3" role="onEnd" />
<bind component="switchAudioIdioma" role="stop" />
</link> </context> <!-- início do video1 deve exibir botões -->
<link id="lVideo1Init" xconnector="connectors#onBeginStartN">
<bind component="video1" role="onBegin" />
<bind component="botaoVermelho" role="start" />
<bind component="botaoVerde" role="start" />
</link> <!-- término do video1 deve dispará-lo novamente
(deve tocar em loop) -->
<link id="lVideo1Loop" xconnector="connectors#onEndStart">
<bind component="video1" role="onEnd" />
<bind component="video1" role="start" />
</link> <!-- define idioma inglês quando a tecla vermelha é pressionada -->
<link id="lSelectBotaoVermelhoIdioma"
xconnector="connectors#onKeySelectionSetNStartNStopNAbortN">
<bind component="botaoVermelho" role="onSelection">
<bindParam name="keyCode" value="RED" />
</bind>
<bind component="nodeSettings" interface="idioma" role="set">
<bindParam name="valueSet" value="en" />
</bind>
<bind component="botaoVerde" role="stop" />
<bind component="botaoVermelho" role="stop" />
<bind component="video1" role="abort" />
<bind component="video2" role="start" />
</link> <!-- define idioma português quando a tecla verde é pressionada -->
<link id="lSelectBotaoVerdeIdioma"
xconnector="connectors#onKeySelectionSetNStartNStopNAbortN">
<bind component="botaoVerde" role="onSelection">
<bindParam name="keyCode" value="GREEN" />
</bind>
<bind component="nodeSettings" interface="idioma" role="set">
<bindParam name="valueSet" value="pt" />
</bind>
<bind component="botaoVerde" role="stop" />
<bind component="botaoVermelho" role="stop" />
<bind component="video1" role="abort" />
<bind component="video2" role="start" />
</link> <!-- término do video2 deve disparar o video3 em seu contexto -->
<link id="lVideo2StartVideo3"
xconnector="connectors#onEndStart">
<bind component="video2" role="onEnd" />
<bind component="contextoFilme" interface="pVideo3"
role="start" />
</link> </body> </ncl> Obrigado e T+
Rafael