AkulaBig
|
Posted: Mon Nov 04, 2024 12:07 Post subject: |
|
|
Так как даже после исправлений продолжительность звучания аудио-файлов продолжала в некоторых случаях различаться, решил разобраться с этим вопросом до конца.
В итоге получился вот такой вариант подсчета продолжительности:
Code: |
<!-- General -->
<column name="Duration">
<unit name="hh:mm:ss" type="script">Output:=TimingFormat('%hh:%mm:%ss', Duration);</unit>
<unit name="hh:mm:ss.fff" type="script">Output:=TimingFormat('%hh:%mm:%ss.%fff', Duration);</unit>
// FIXES: Show Duration in second
<unit name="sec" type="script">Output:=Round(Number(Duration)/1000);</unit>
// FIXES: Show Duration in millisecond
<unit name="msec">Duration</unit>
// FIXES: Show Duration Custom
<unit name="Custom" type="script">
<![CDATA[
Output:='';
if (Duration <= 0) then Exit;
if Not StrIsNumber(Duration) then Exit;
Secs := Integer(Duration / 1000); //convert miliseconds to seconds
Hours := Integer(Secs / 3600); //3600 seconds in an hour
Mins := Integer((Secs - (Hours * 3600)) / 60); //60 secs per min
Secs := Secs - ((Hours * 3600) + (Mins * 60)); //leftovers
If (Hours < 10) then Hours := '0' + String(Hours);
If (Mins < 10) then Mins := '0' + String(Mins);
If (Secs < 10) then Secs := '0' + String(Secs);
Output := StrFormat('%s:%s:%s', Hours, Mins, Secs))
]]>
</unit>
</column>
|
Этот вариант полностью соответствует отображению MediaInfo, что подтверждаю скрином. Дело в том, что многие при подсчете продолжительности расчет ведут от округленных секунд, что конечно неправильно. Даже K-Lite Codeck Pack считает неправильно. Что видно на скрине. Хотелось-бы увидеть эти изменения в плагине, для стандартных форматов продолжительности. Чтобы у всех были одинаковые данные. Еще нашел косячки в последнем TCMediaInfo.xml. Из-за чего не отображались год, наличие обложки и комменты аудио-файлов. Еще там кое-какие обновления. Опять-же, если сочтете нужным, включите эти изменения в новую версию плагина. https://www.dropbox.com/scl/fi/g17ie6raiopm67pngdcwc/TCMediaInfo.xml?rlkey=p6t0cy4cbrx7pqusk831dqx6l&dl=1
Я конечно и сам сейчас выложу на ру.борде эту информацию. Но очень-бы хотелось, чтобы это было единоообразно для всех.
На скрине первая колонка продолжительности мой кастом, вторая - ваша стандартная. |
|