Det finns många ljud- och videospelare men jag skulle vilja använda ett verktyg för många föreslår. Så jag vill använda ffplay
som ljud- och videospelare.
För att spela en fil är kommandot så här.
ffplay path_to_audio_file.mp3
men hur man spelar en lista över ljudfiler eller en lista med videor?
Jag försökte använda:
ffplay *.mp3
men utan framgång ger det mig ett fel så här:
Argument "audiofileB.mp3" provided as input filename, but "audiofileA.mp3" was already specified.
Svar
ffplay
verkar bara stödja en enda inmatningsfil, så du måste använda koden för att slinga över en lista med inmatningsfiler (och eventuellt blanda dem ); antar vildt coreutils
(för shuf
), kanske något som:
find musicdir -type f -name "*.mp3" | shuf | while read f; do ffplay -autoexit -- "$f"; done
Detta kommer naturligtvis att bryta hemskt om det finns mellanslag eller nya rader i filnamnen.
(Min nuvarande musikspelare är ganska lika, find ~/music -type f -name "*.mp3" | mpg123 --shuffle -Z --list -
)
Kommentarer
Svar
Jag hittade den här tråden medan jag skrev ett FFplay GUI i Lazarus / FPC. Det kunde redan spela en tappad fillista och hoppa till nästa / föregående fil, men jag var tvungen att döda ffmpeg-processen och skapa en ny varje gång. Jag försökte lägga till möjligheten att spela en hel fillista. Den enklaste lösningen jag hittade för tillfället var naturligtvis att använda -autoexit och skapa en spellistfil med den här Pascal-koden:
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;
Läs sedan den så här:
"ffplay -f concat -safe 0 -i flist.txt -autoexit"
vilket är samma syntax som jag använder för att sammanfoga filer med FFMPeg.
Jag letar nu efter ett rätt sätt att lägga till en fördröjning om filer är bildfiler …
-autoexit
flaggan verkar relevant för den frågan.-autoexit
löste problemet. Nu har jag en annan som kan lösas med-nodisp
… detta kommer att inaktivera visualisering av vågform och liknande saker. Detta kommer att undvika att skapa ett nytt fönster och stjäla fokus från nuvarande arbetsapplikation (detta var väldigt irriterande beteende). vill du inkludera detta alternativ i ditt svar som ett möjligt alternativ för att lösa det irriterande beteendet.