PDA

Visualizza la versione completa : [C++. TagLib] Bitrate variabile di un file audio


begin
19-09-2016, 23:12
Salve a tutti. C'è un modo per determinare se un file audio possiede un bitrate variabile, ed estrarre il sampleCount() (https://taglib.github.io/api/classTagLib_1_1IT_1_1Properties.html#a645a7bf69a54 cb42b15cf8ecf8aee0d6) tramite la liberia LibTag? Mi server scoprirlo perché la classe QMediaPlayer di Qt calcola in modo errato la durata dei file audio con bitrate variabile, e l'unico modo per correggere la durata è scoprire se l'audio ha un bitrate variabile e dividere la lunghezza per il valore del sampleCount() (https://taglib.github.io/api/classTagLib_1_1IT_1_1Properties.html#a645a7bf69a54 cb42b15cf8ecf8aee0d6).

Dal momento che la documentazione di TagLib è un pò confusionaria, sono riuscito a creare solo il FileRef



void MainWindow::playerOnMediaStatusChanged(QMediaPlaye r::MediaStatus status)
{
if (status == QMediaPlayer::BufferedMedia) {
QString mediafile = playlist->currentMedia().canonicalUrl().toString();
TagLib::FileRef fr(reinterpret_cast<constwchar_t*>(mediafile.utf16()),true);
//…
}
}

Ma non so come si fa a determinare se l'audio ha il bitrate variabile ed il suo sampleCount()

Potreste aiutarmi?

Grazie in anticipo

Loading