1

私は Gstreamer に Python バインディングを使用しており、次のパイプラインを使用して wav ファイルを mp3 に変換しています。私はこの質問の提案の1つをいくつか変更して使用しました(元の構文が使用されたときにいくつかのエラーが発生したため)

    gst.parse_launch("filesrc location=C:\\music.wav ! decodebin 
! audioconvert !  lame ! filesink location=C:\\music.mp3")

このコードを Python で実行すると、エラーは発生しません。ただし、music.mp3 ファイルは生成されません。

新しいファイル music.mp3 を作成するには、他に何をする必要がありますか

4

2 に答える 2

1

パイプラインが正しい-より具体的には、要素とプロパティの選択が正しい。

問題は、コードの別の部分にある可能性があります。パイプラインをgst.STATE_PLAYINGに設定しましたか?

pipeline = gst.parse_launch("filesrc location=C:\\music.wav ! decodebin ! audioconvert !  lame ! filesink location=C:\\music.mp3")
pipeline.set_state(gst.STATE_PLAYING)

他にもよくある間違いがたくさんあります。ソースコード全体を投稿すると非常に役立ちます。

于 2010-06-19T03:01:33.463 に答える
0

これが機能しない場合は、ffmpeg を使用してファイルを変換することをお勧めします。これは非常に効率的でオープンソースです。コマンド ラインから操作できる WinFF でコンパイルされた Windows バージョンを見つけることができます。

于 2010-07-05T10:04:45.883 に答える