0

流光.py

import vlc # libVLC
import time

class Streamer():
    def __init__(self):
        self.Instance = vlc.Instance()
        sout = "#transcode{acodec=mp3,ab=128,channels=2,samplerate=44100}:http{dst=:8090/streamer.mp3}"
        self.media_files = ["file.mp3", "file2.mp3"]
        self.Instance.vlm_add_broadcast("0", self.media_files[0], sout, 0, None, True, False)
        self.Instance.vlm_add_broadcast("1", self.media_files[1], sout, 0, None, True, False)
        self.Instance.vlm_play_media("0")
        time.sleep(10)
        self.Instance.vlm_stop_media("0")
        self.Instance.vlm_play_media("1")
        time.sleep(10)

rs = RasStreamer()

玩家:

我在客户端使用 Jplayer ( demo-8 )。

问题:

一旦我停止媒体“0”并播放媒体“1”,它就会停止我的播放器,我必须再次按下播放按钮。有没有办法在不停止播放器的情况下切换媒体?

4

1 回答 1

1

前言:我不是流媒体专家;我从研究如何使用 libvlc 中学到的一切。

在停止一个媒体和启动下一个媒体之间,数据流物理地结束并重新开始。例如,会有一小段时间没有播放任何内容,因此播放器停止。从理论上讲,您可以将新流附加到前一个流,只要它们具有相同的编码和容器格式(就像您的两个流一样)。但是,我不认为 libvlc 的绑定支持这一点。

所以我认为你最好的选择是让一个客户端在流结束时定期尝试重新连接到流。

于 2013-06-05T03:06:59.093 回答