2012-02-28 3 views
0

길이가 5 피트 인 MP3 파일이 있습니다. 두 번째 1.4부터 두 번째 3.2까지 지정된 하위 섹션을 재생하고 싶습니다. 저는 Python 3이 아닌 Python 2에서, 그리고 Windows에서는 Linux에서 일하고 있습니다.Python 3, Windows 7에서 mp3의 지정된 하위 섹션 재생

내 문제를 해결하는 Python 3 용 모듈이 없다는 것을 알았지 만 mpg123과 같은 MP3 플레이어를 백엔드로 사용하여 파이썬 프로그램에서 제어 할 수 있다고 생각했습니다. mpg123에 대한 원격 명령은 너무 제한적입니다. 다른 아이디어? 명령 줄에서 사용할 수있는 Windows 프로그램이 있습니까? 예 :

program -start 1.4 -end 2.3 file.mp3 

하위 프로세스에서 호출 하시겠습니까?

답변

1

mplayer 바이너리가 설치되어 있거나 mplayer를 패키지 할 수있는 경우 mplayer.py을 사용할 수 있습니다. 그것은 Windows와 Linux에서 파이썬 2와 3 모두에서 작동합니다. 플레이어를 초기화하고 나면 time_pos 속성 (float)으로 검색 할 수 있으며 필요한 일시 중지 및 중지 방법이 있습니다. 이런 식으로 뭔가가 :

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

단점은 MPlayer는이 백그라운드로와 통신이 소켓을 통해 실행되기 때문에 더 UI와 단축키 지원이 없다는 것입니다. 다른 작업이 필요하지 않으면 당신은 단지 -ss 시작 시간와 MPlayer는 자체를 사용하여 더 나을과 같이 초 매개 변수를 길이를 -endpos 수 있습니다

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

이 00에서 이동합니다 : 20에서 00:22. 밀리 초를 지정할 수는 없지만, 실제로 A 지점에서 B 지점까지 하나 이상의 음악 파일을 재생하려면이 방법 (일괄 처리 또는 포쉬 사용)이 종속성이 낮기 때문에 더 나은 솔루션입니다.

관련 문제