java - GStreamer 动态更改管道的 filesrc 位置 - 没有声音

标签 java audio streaming gstreamer

我目前正在从事涉及 GStreamer 音频流的大学项目。 我已成功地在客户端/服务器和 TCP 之间进行流式处理。

我的下一个任务是根据用户输入动态更改音频流。 我尝试了以下方法:

    pp.setState(State.PAUSED);

    pp.setState(State.READY);

    pp.unlink(src);

    source = ElementFactory.make("filesrc", "src");

    pp.link(source);

    source.set("location", fpath);

    pp.setState(State.PLAYING);

fpath 是音频文件的位置。当收到用户输入时,状态设置为 PAUSE,取消链接源并添加新源。状态设置为 PLAYING。

我在客户端使用了 GST_DEBUG 并且没有错误,缓冲区被发送到客户端但没有声音。

如有任何建议,我们将不胜感激。

最佳答案

您无需取消链接并添加新来源。直接进入 READY(无需先进入 PAUSED 再进入 READY,这会隐式发生),设置一个新位置并返回播放。

关于java - GStreamer 动态更改管道的 filesrc 位置 - 没有声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10398383/

相关文章:

windows - 是否可以渐进式播放 DRMed 轨道

c# - 需要在 C# 应用程序中从摄像头捕获视频流

python - 如何使用 Django 将图像流式传输到浏览器

java - 参数(整数)

java - 如何在 JAXRS 上建立父子关系

Java : Taking 2 array find if the element that exists in both array return true if exist else false

audio - 原始声音播放

audio - 如何使用 ffmpeg 录制音频流?

xml - WCF:序列化?流媒体?

java - Spring Boot 如何使用 jwt 管理用户角色