如何使用omxplayer在套接字上侦听并并行播放视频文件?

2024-04-23 15:53:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图播放一个视频在一个循环使用omxplayer对树莓皮。当视频循环时,我想让一个套接字监听来自另一个源(tcp)的命令/数据。一旦接收到命令/数据,我希望omxplayer python脚本退出循环并继续使用python程序。你知道吗

到目前为止,我已经尝试在打开的侦听套接字中有一个循环,一旦收到命令/数据,就通过设置一个标志来中断循环,但这不起作用。我相信我必须使用异步和异步,等待得到这个工作。。。你知道吗

def interactive(player):
    # INTERACTIVE SCENES        
    player.load(VIDEO_PATH_LOOP)
    player.mute()

    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.bind((LISTENER_HOST, LISTENER_PORT))
        s.listen()

        conn, addr = s.accept()
        with conn:
            flag = 0
            # LOOP 
            while(flag == 0):
                data = conn.recv(1024)                
                if not data:
                    continue

                conn.sendall(data)
                print("data is: " + data.decode())

                if data:
                    flag = 1

                time.sleep(20)
                player.set_position(0)  

                s.listen()
                conn, addr = s.accept()
    print("out of listen mode")

当我发送一个字符串到监听套接字时,我得到了非常奇怪的输出。。。理想情况下,视频循环将持续播放,直到收到特定的字符串,然后脚本将继续。你知道吗


Tags: 数据命令脚本loopdata视频withsocket