Python 스크립트가 새 오디오 파일을 재생하기 전에 기다릴 수 있도록 오디오 파일이 현재 재생 중인지 알아야 합니다. 저는 OSX를 사용하고 있습니다. Python 스크립트는 "os" 모듈을 사용하여 서브쉘을 생성하고 "afplay"를 사용하여 mp3 파일을 재생합니다. 스크립트는 빠르게 연속해서 두 번 호출될 수 있습니다. 동시에 여러 파일을 재생하지 않으려고 합니다. 이상적으로는 스크립트가 다음 오디오 파일을 재생하기 전에 현재 재생 중인 오디오 파일이 끝날 때까지 기다리도록 하고 싶습니다. 어떤 도움이라도 대단히 감사하겠습니다. 미리 감사드립니다
답변1
단 하나(협력 프로그램 그룹)만이 동시에 무언가를 수행하도록 보장하는 일반적인 솔루션은 일종의 뮤텍스 잠금입니다. 이 경우 호출 전에 뮤텍스를 획득 afplay
하고 afplay
호출이 완료되자마자 해제합니다. 이렇게 하면 afplay
한 번에 하나씩만 실행할 수 있습니다 .
프로세스 간 뮤텍스의 경우 여러 옵션이 있지만 가장 간단한 것은 아마도 잠금 파일일 것입니다. 저는 개인적으로 Python을 모르지만 "Python에서 파일 잠금"그것은 많은 옵션을 제공하는 것 같습니다.