3

私は現在、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 を使用しましたが、エラーはありません。バッファはクライアントに送信されますが、サウンドはありません。

任意の提案をいただければ幸いです。

4

2 に答える 2

1

リンクを解除して新しいソースを追加する必要はありません。READYに直接移動し(PAUSEDに移動してからREADYに移動する必要はありません。これは暗黙的に発生します)、新しい場所を設定して再生に戻ります。

于 2012-05-02T08:20:22.763 に答える
1

する必要がありますsyncStateWithParent();

私は別の目的で使用していますが、これはプロパティの変更でアプリケーションに拡張できますGstreamer: RTP ストリームでのビデオの一時停止/再開

于 2012-08-19T16:41:27.400 に答える