2012-02-28 8 views
0

私は長さ、例えば5秒のMP3ファイルを持っています。私は指定された小節を演奏したい、例えば、第2の1.4から第2の3.2まで。私はPython 3ではなくPython 2で作業しています。WindowsではLinuxではありません。Python 3、Windows 7でmp3の指定されたサブセクションを再生

私の問題を解決するPython 3のモジュールはありませんが、私はバックエンドとしてmpg123のようなMP3プレーヤーを手に入れて、私のPythonプログラムで制御できると思っていました。 mpg123のリモートコマンドはあまりにも制限されています。他のアイデア?

program -start 1.4 -end 2.3 file.mp3 

をし、サブプロセスから呼び出す:私はこのように、コマンドラインで使用できるWindowsプログラムでもありますか?

答えて

1

mplayerバイナリがインストールされている場合、またはmplayerをパッケージ化できる場合は、mplayer.pyを使用できます。これは、WindowsとLinuxでもPython 2とPython 3の両方で動作します。 Playerを初期化したら、time_posプロパティ(float)で検索することができます。必要な一時停止と停止方法があります。このような何か:

player = mplayer.Player() 
player.loadfile("musicfile.mp3") 
player.time_pos = start 
while player.time_pos < stop : pass 
player.stop() 

欠点は、mplayerには、バックグラウンドに実行されていて、通信はソケットを介しているので、何のUIとホットキーのサポートがないことです。これは、00から行きます

mplayer "music.mp3" -ss 20 -endpos 2 

:あなたが何かを必要としない場合は、数秒でちょうど-ss 開始時間と-endpos 長さのmplayer自体を使用して、このようなパラメータ、オフに良いかもしれません:20から00:22。ミリ秒を指定することはできませんが、ポイントAからポイントBまでの1つ以上の音楽ファイルを実際に再生したい場合は、このバッチまたはポーズを使用するほうが良いソリューションです。

関連する問題