Hi ! When I play aac files, foobar2000 doesn't show any time related information for aac files, though it plays them perfectly
here some file examples
https://cdn.discordapp.com/attachments/605893409353498644/842197403473149962/FF_Quiz_Question_aac.aac (https://cdn.discordapp.com/attachments/605893409353498644/842197403473149962/FF_Quiz_Question_aac.aac)
https://cdn.discordapp.com/attachments/605893409353498644/842197447370735666/BGM_ROBJ_Brazier_aac.aac (https://cdn.discordapp.com/attachments/605893409353498644/842197447370735666/BGM_ROBJ_Brazier_aac.aac)
https://cdn.discordapp.com/attachments/605893409353498644/842197415753809920/BGM_EVT_MarioKart8_Title_aac.aac (https://cdn.discordapp.com/attachments/605893409353498644/842197415753809920/BGM_EVT_MarioKart8_Title_aac.aac)
If you need more here the complete folder on Google Drive (https://drive.google.com/file/d/1qhU2v2SlCwnkhkbZX5fxRxpZY9UkfgQZ/view?usp=sharing)
Thanks in advance for fixing that : ) !
You should multiplex your files into MP4 container, for example using MP4Box, or in Matroska, which is much less commonly used. Nobody has defined fields for length and bitrate for ADTS, so the entire file must be parsed to know the duration and seektable for accurate seeking. Other players make an estimate from a small section at the start of the stream.
Following up on j7n's wise suggestion, you can also use ffmpeg to losslessly wrap the AAC's into a M4A container, where they can then be read properly and easily tagged. If you open a command window in the folder with the AAC's, the following command will do that for all of them; the originals will be kept. Change the path for ffmpeg.exe to match yours.
FOR %F IN (*.aac) DO C:\ffmpeg\ffmpeg.exe -i "%F" -codec copy "%~nF.m4a"
If you prefer using Mp4box.exe use this line with the same caveats:
FOR %F IN (*.aac) DO "C:\mp4box\mp4box.exe" -add "%F" "%~nF.m4a" -new
The Mp4box example assumes its needed dependencies are also in the same folder as the exe.
Just in case you want to convert within foobar: I am using the following with foo_run (https://hydrogenaud.io/index.php?topic=45223.0) to create a m4a file at the location of the aac file and remove the aac file
cmd /c start "1" "cmd.exe" /k ffmpeg -i "%_path%" -acodec copy -bsf:a aac_adtstoasc -y "$replace(%_path%,%_filename_ext%,)%_filename%.m4a" & ping -n 2 127.0.0.1>nul &cmd /c start "2" "cmd.exe" /k del "%_path%"
Works with foo__run only for one file each, but can probably be extended straight-forward to mass-usage with foo_run_group (https://hydrogenaud.io/index.php?topic=45223.msg983021#msg983021)
Thanks everyone ! So, if I got it right, you're all saying the only way to make duration appear is by converting the sound in another format (and let aac without progress bar forever)
Basically yes - it's just not really 'converting the sound to another format“, more like wrapping your sound into another 'box' that foobar can handle it....
Hello, I hope you can contribute, everyone is correct, but maybe because of the translator I used, but to me it seemed more complicated than it is. I've already used foobar to create CDtext audio discs with replain gain and in 20bits (SACD) from FLAC sources (the only program I managed to do that) but for conversion I prefer other tools. In the case of the specific situation when using Format Factory choose for example the package (icon) "M4A" and then the encoding "AAC". Our friend foobar will perfectly read the time and allow us to use the crossfader, for example.