Sok audio- és videolejátszó létezik, de sok javaslathoz egy eszközt szeretnék használni. Tehát a ffplay -t szeretném használni audio- és videolejátszóként.

Egy fájl lejátszásához a parancs ilyen.

 ffplay path_to_audio_file.mp3  

de hogyan kell lejátszani egy listát audio fájlok vagy videók listája?

Megpróbáltam használni:

ffplay *.mp3 

de sikertelenül egy ilyen hibát kapok:

Argument "audiofileB.mp3" provided as input filename, but "audiofileA.mp3" was already specified. 

Válasz

ffplay csak egyetlen bemeneti fájlt támogat, ezért kódot kell használnia a bemeneti fájlok listájának áthúzására (és esetleg azok keverésére) ); vadul feltételezve coreutils (shuf esetén), talán valami ilyesmi:

find musicdir -type f -name "*.mp3" | shuf | while read f; do ffplay -autoexit -- "$f"; done 

Ez természetesen borzasztóan megszakad, ha szóközök vagy új sorok vannak a fájlnevekben.

(A jelenlegi zenelejátszóm meglehetősen hasonló, find ~/music -type f -name "*.mp3" | mpg123 --shuffle -Z --list -)

megjegyzések

  • kipróbáltam neked megoldást, és ez ' szinte jó, de … van néhány probléma az ffplay-hez, amelyet én ' nem vagyok biztos abban, hogy meg kell-e oldani őket ebben a kérdésben vagy egy másikban. az egyik probléma az, hogy az ffplay nem fejezi be az aktuális dal lejátszását, és ezért nem megy a következő dalra az aktuális végén, amíg nem használom a CTRL + c billentyűzet kombinációt.
  • @Scantlight a -autoexit jelző relevánsnak tűnik a kérdés szempontjából.
  • -autoexit megoldotta ezt a problémát. Most van egy másikam, amelyet a -nodisp használatával meg lehet oldani … ez letiltja a hullámforma és hasonló dolgok megjelenítését. Ezzel elkerülhető lesz egy új ablak létrehozása és a fókusz ellopása a jelenlegi működő alkalmazásból (ez nagyon idegesítő viselkedés volt). fel szeretné venni ezt a lehetőséget a válaszában, mint a bosszantó viselkedés megoldásának egyik lehetséges lehetőségét.

Válasz

Ezt a szálat akkor találtam meg, amikor FFplay GUI-t írtam a Lazarus / FPC-ben. Ez már képes volt lejátszani egy elejtett fájllistát és ugrani a következő / előző fájlra, de meg kellett ölnöm az ffmpeg folyamatot, és minden alkalommal újat kellett létrehoznom. Megpróbáltam hozzáadni egy teljes fájllista lejátszásának képességét. A legegyszerűbb megoldás, amelyet pillanatnyilag találtam, természetesen az -autoexit használata volt, és ezzel a Pascal-kóddal készítettem egy lejátszási lista fájlt:

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; 

Ezután olvasd el így:

"ffplay -f concat -safe 0 -i flist.txt -autoexit" 

amely ugyanaz a szintaxis, amelyet a fájlok FFMPeg-el való összefűzéséhez használok.

Most megfelelő módot keresek a hozzáadásra késés, ha a fájlok képfájlok …

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük