Det er mange lyd- og videospillere, men jeg vil gjerne bruke ett verktøy for mange foreslår. Så jeg vil gjerne bruke ffplay
som lyd- og videospiller.
For å spille en fil er kommandoen slik.
ffplay path_to_audio_file.mp3
men hvordan du spiller en liste over lydfiler eller en liste over videoer?
Jeg prøvde å bruke:
ffplay *.mp3
men uten suksess gir det meg en feil som dette:
Argument "audiofileB.mp3" provided as input filename, but "audiofileA.mp3" was already specified.
Svar
ffplay
ser ut til å bare støtte en enkelt inndatafil, så du må bruke kode for å løpe over en liste med inndatafiler (og muligens for å blande ); antar coreutils
(for shuf
), kanskje noe sånt som:
find musicdir -type f -name "*.mp3" | shuf | while read f; do ffplay -autoexit -- "$f"; done
Dette vil selvfølgelig bryte fryktelig hvis det er mellomrom eller nye linjer i filnavnene.
(Min nåværende musikkspiller er ganske lik, find ~/music -type f -name "*.mp3" | mpg123 --shuffle -Z --list -
)
Kommentarer
Svar
Jeg fant denne tråden mens jeg skrev en FFplay GUI i Lazarus / FPC. Det kunne allerede spille en droppet filliste og hoppe til neste / forrige fil, men jeg måtte drepe ffmpeg-prosessen og opprette en ny hver gang. Jeg prøvde å legge til muligheten til å spille av en hel filliste. Den enkleste løsningen jeg fant for øyeblikket var selvfølgelig å bruke -autoexit, og lage en spillelistefil med denne 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;
Deretter leser du den på denne måten:
"ffplay -f concat -safe 0 -i flist.txt -autoexit"
som er den samme syntaksen jeg bruker for sammenkobling av filer med FFMPeg.
Jeg søker nå etter en riktig måte å legge til en forsinkelse hvis filene er bildefiler …
-autoexit
flagg virker relevant for det problemet.-autoexit
løste problemet. Nå har jeg en annen som kan løses ved å bruke-nodisp
… dette vil deaktivere visualisering av bølgeform og lignende. Dette vil unngå å skape et nytt vindu og stjele fokus fra gjeldende arbeidsapplikasjon (dette var veldig irriterende oppførsel). vil du inkludere dette alternativet i svaret ditt, som et mulig alternativ for å løse den irriterende oppførselen.