[DirectX] Nieprawidłowy czas piosenki

0

Witam ;)

Mam kłopot z DirectX.AudioVideoPlayback ...
W niektórych piosenkach player, którego właśnie piszę podaje zły czas całkowity odtwarzanej piosenki ;/
Jednak w niektórych czas ten jest prawidłowy.
Metoda odpowiadająca za pobranie czasu wygląda tak:

        private string calkowityCzas()
        {
            int sec = (int)audio.Duration;
            int hour = sec / 3600;
            int min = (sec - (hour * 3600)) / 60;
            sec = sec - (hour * 3600 + min * 60);
            string czasTrwania = String.Format("{0:D2}:{1:D2}:{2:D2}", hour, min, sec);
            return czasTrwania; 

        }

Co tu jest nie tak??
Czy może chodzi o coś całkiem innego??

0

Wpierw zbadaj, czy odczytany czas w sekundach jest poprawny (debuger lub wyświetlenie na konsoli)

private string calkowityCzas()
{
int sec = (int)audio.Duration;
Console.WriteLine("czas = "+sec);
int hour = sec / 3600;
int min = (sec - (hour 3600)) / 60;
sec = sec - (hour
3600 + min * 60);
string czasTrwania = String.Format("{0:D2}:{1:D2}:{2:D2}", hour, min, sec);
return czasTrwania;

    }
0

Trochę nad tym myślałem i jedyne czego się dowiedziałem to to ,że jest to wina linijki

int sec = (int)audio.Duration;

audio.Duration pobiera nieprawidłową długość piosenki u mnie na kompie ;/
Ma ktoś jakiś pomysł jaka jest tego przyczyna??

0

Może w pliku z piosenką jest zła informacja. Otwórz innym programem (np. Winamp), który pokazuje długość piosenki.

0

Tu nie chodziło o informacje z konkretnej piosenki bo tak się dzieje z wszystkimi piosenkami. W dymku, który pokazuje się po najechaniu na ikonę pliku z piosenka czas jest prawidłowy. W Windows Media Playerze i QuickTimie też jest ok. Ale już w SubEditPlayer i MediaPlayerClassicu czas jest także nieprawidłowy (np. piosenka o długości ok. 6 min ma długość 30 min ;p ).
Myślę, że to może być sprawa kodeków i zaraz to sprawdzę.

Jednak nie ;/

Ma ktoś jakieś pomysły?? Może DirectXa przeinstalować??

0

W niektórych piosenkach player, którego właśnie piszę podaje zły czas całkowity odtwarzanej piosenki ;/
Jednak w niektórych czas ten jest prawidłowy.

Tu nie chodziło o informacje z konkretnej piosenki bo tak się dzieje z wszystkimi piosenkami.

Zdecyduj się

0

No w sumie to do tej pory w 2 utworach spotkałem się z prawidłowym czasem...
Dlatego możliwe ze to jest tylko przypadek ze czas jest prawidłowy...
Bo im więcej piosenek sprawdziłem tym więcej jest złych czasów ;/

0

Jeżeli jesteś w 100% pewny, że pliki są prawidłowe (np. błędy spowodowane przez transmisję p2p) to najpewniej jest to wina kodeka.

0

Pewnie kodek wykrzacza sie na plikach mp3 o zmiennym bitrate. Jezeli kodek nie jest pierwszej nowosci, to jest typowe (winamp zawsze pokaze dobrze, bo nie wykorzystuje zewnetrznych kodekow do dekodowania mp3).

0

używam k-lite mega codec pack w najnowszej wersji
i czas ten się pobiera niepoprawnie nie tylko w moim playerze ale także
w np. Media Player Classic (który jest załączony do tego packa).
Więc to chyba nie jest normalne.
Natomiast w Windows Media Player już jest wszystko ok.
Przeinstalowanie kodeków i DirectX nic nie dało i dlatego nie mam pojęcia co mogę zrobić
żeby to naprawić ;/

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0