まず最初に、私はPythonの初心者で、オブジェクト指向のもののための典型的なC++/Javaのバックグラウンドを持っています。Pythonでmp3ファイルを再生して制御するには?
私は現在取り組んでいるこの現在の努力のためにPythonを試してみることになっていましたが、これまでのところ私はそれが好きです。私が持っている1つの問題は良いmp3モジュールを見つけることです。
私はTkSnackを試してみましたが、これはエラーなしで正常にインストールされ、実行されましたが(オーディオデバイスがビジーでない限り)、実際にサウンドを生成することはできませんでした。ドキュメンテーションの量には失望していました。
私は切り替えを決めました。 PyMadはUbuntuの標準リポジトリにもあるので試しました。これについての資料はほとんどなく、音を出すことができました。唯一の問題は、常にオーディオバッファを書き込み/再生するループが必要であることです。これは、私が別のスレッドやプロセスでこれを実行し、何らかの理由で一時停止などのシーク位置を制御する必要があるため、再生制御を扱うのが特に毛深くなります(私の意見では)。なぜ私がPythonを使用しているのかは、あまりにも低いレベルです。ループを制御するのではなく、 "mysound.play()"や "mysound.pause()"のような簡単なコマンドでTkSnackのシンプルさが好きでした。
私はpyMediaも見ましたが、これはドキュメントの最新版のようですが、私のマシンにインストールすることはできません。 "python setup.py build"コマンドを実行すると、 "gcc exited with value 1"というエラーが出る。
私は、これらのモジュールの1つ、または完全に異なるものを探しています。これは、mp3(および他のフォーマットも好評です)の高レベルで使いやすいものです。基本的な再生制御(一時停止、停止、スキップ、シーク)、最終的にファイルをストリーミングすることもできます(もし私がそこに着いたら)。
EDIT:私はGstreamer用のPythonバインディングが好きですが、これはクロスプラットフォームのソリューションですか?私はそれを必要条件として言及するのを忘れていました。しかし、私はいつもGStreamerをLinuxに関連付けるだけですが、これは他のOSでも動作しますか?
EDIT:ウィキペディアはyesと言っています。
私はGStreamerとのやりとりが好きです。なぜなら、ほとんどのオーディオ/ビデオプログラムがすでにLinuxで動作するからです。しかし、それをクロスプラットフォームにしたいのであれば、それはまだ適用可能でしょうか? – gnomed
リンクのうち2つはPythonパッケージではないようです... – heather