많은 오디오 및 비디오 플레이어가 있지만 많은 프로포즈를 위해 하나의 도구를 사용하고 싶습니다. 그래서 저는 ffplay
를 오디오 및 비디오 플레이어로 사용하고 싶습니다.
하나의 파일을 재생하기위한 명령은 다음과 같습니다.
ffplay path_to_audio_file.mp3
하지만 목록을 재생하는 방법 오디오 파일 또는 동영상 목록?
사용하려고했습니다.
ffplay *.mp3
하지만 성공하지 못하면 다음과 같은 오류가 발생합니다.
Argument "audiofileB.mp3" provided as input filename, but "audiofileA.mp3" was already specified.
Answer
ffplay
는 단일 입력 파일 만 지원하는 것으로 보이므로 입력 파일 목록을 반복하는 코드를 사용해야합니다. ); coreutils
(shuf
의 경우)를 격렬하게 가정하면 다음과 같습니다.
find musicdir -type f -name "*.mp3" | shuf | while read f; do ffplay -autoexit -- "$f"; done
파일 이름에 공백이나 줄 바꿈이 있으면 당연히 끔찍하게 중단됩니다.
(현재 내 음악 플레이어는 상당히 유사합니다. find ~/music -type f -name "*.mp3" | mpg123 --shuffle -Z --list -
)
댓글
답변
Lazarus / FPC에서 FFplay GUI를 작성하는 동안이 스레드를 찾았습니다. 이미 삭제 된 파일 목록을 재생하고 다음 / 이전 파일로 건너 뛸 수 있지만 ffmpeg 프로세스를 종료하고 매번 새 파일을 만들어야했습니다. 전체 파일 목록을 재생하는 기능을 추가하려고했습니다. 지금까지 찾은 가장 간단한 해결 방법은 물론 -autoexit를 사용하고 다음 파스칼 코드로 재생 목록 파일을 만드는 것이 었습니다.
begin AssignFile(tfOut, C_FNAME); try rewrite(tfOut); for i:= 0 to Fichiers.Items.Count - 1 do if Fichiers.Selected[i] then begin writeln(tfOut, "file " + #39 + conv(Fichiers.Items[i]) + #39) end; CloseFile(tfOut); except on E: EInOutError do ShowMessage ("File error") end; end;
그런 다음 다음과 같이 읽으십시오.
"ffplay -f concat -safe 0 -i flist.txt -autoexit"
파일을 FFMPeg와 연결하는 데 사용하는 것과 동일한 구문입니다.
이제 적절한 추가 방법을 찾고 있습니다. 파일이 이미지 파일 인 경우 지연…
-autoexit
플래그가 해당 문제와 관련이있는 것 같습니다.-autoexit
가 해당 문제를 해결했습니다. 이제-nodisp
를 사용하여 해결할 수있는 또 다른 것이 있습니다. 그러면 파형 및 유사한 항목의 시각화가 비활성화됩니다. 이렇게하면 새 창을 만들고 현재 작업중인 응용 프로그램에서 포커스를 훔치는 것을 방지 할 수 있습니다 (매우 성가신 행동이었습니다). 성가신 동작을 해결하기위한 가능한 옵션으로 답변에이 옵션을 포함 하시겠습니까?