5

まず最初に、私は Python の初心者であり、オブジェクト指向の典型的な C++/Java のバックグラウンドを持っています。

私は、現在取り組んでいるこの取り組みのために Python を試してみようと確信しました。今のところ気に入っています。私が抱えている問題の 1 つは、適切な mp3 モジュールを見つけることです。

私は TkSnack を試してみましたが、これはエラーなしでインストールされ、正常に実行されました (私のオーディオ デバイスがビジーでない限り) が、実際に音を出すことはできず、何もしませんでした...オンラインで助けを求めたところ、がっかりしましたドキュメントの量で。

というわけで乗り換えることにしました。Ubuntuの標準リポジトリにもあるので、PyMadを試しました。これに関するドキュメントはさらに少なかったのですが、音を鳴らすことができました。唯一の問題は、オーディオ バッファを常に書き込み/再生するためのループが必要なことです。これにより、再生制御を処理するのが特に面倒になります (私の意見では)。これを別のスレッドまたはプロセスで実行し、何らかの方法で一時停止などのシーク位置を制御する必要があります。これは、私が Python を使用している理由としては、少し低すぎるレベルです。ループを制御するのではなく、「mysound.play()」や「mysound.pause()」などの簡単なコマンドで、TkSnack のシンプルさが気に入りました。

ドキュメントが最新のように見えるpyMediaも調べましたが、自分のマシンにインストールできません。「python setup.py build」コマンドを実行すると、「gcc exited with value 1」エラーまたはそのようなエラーが発生します。

したがって、これらのモジュールのいずれか、または高レベルでmp3(およびできれば他のフォーマットも)で使いやすい完全に異なるモジュールの提案またはヘルプを探しています基本的な再生制御(一時停止、停止) 、スキップ、シーク)、最終的にはファイルもストリーミングする可能性があります(そこにたどり着いた場合)。

編集: Gstreamer の python バインディングが好きですが、これはクロスプラットフォーム ソリューションですか?? 要件としてそれを言うのを忘れていました。しかし、私は常に GStreamer を Linux に関連付けただけですが、これは他の OS でも機能しますか?

編集:ウィキペディアはそう言っています。

4

2 に答える 2

2

申し訳ありませんが、PyMad や pyMedia についてはお手伝いできませんが、他の提案があります。

Python で書かれた既存の音楽プレーヤー:

上記のすべては、 GStreamerマルチメディア フレームワークのPython バインディングを使用します。バインディングのドキュメントはほとんどありませんが、ここここここ、およびソース配布の例をここで確認してください

于 2009-04-23T08:09:34.633 に答える
1

私はこれに対処しなければなりませんでした。私の調査から、あなたの最善の策はpygletpygameだと思います。これらは、組み込みの a/v サポートを備えたインターフェイス パッケージです。

于 2009-04-23T14:00:03.417 に答える