IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

IMediaPosition ou IMediaSeeking


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Par défaut IMediaPosition ou IMediaSeeking
    Bonjour
    je suis entrain d'ecrire une class pour creer un lecteur de video et elle marche niquel.
    Je veus implementer correctement la fonction PlayTime
    je veus pouvoir juste passer mon objet de temps faire les calculs pour apres utiliser la fonction SetCurrentTime de IMediaControl.
    J'ai essayer avec IMediaSeeking et IMediaPosition et j'obtien les effet que je veus.
    Mon problem est le suivant, je veus faire ma class comme etant le plus generique possible au niveau des format de temps pour pouvoir etre reutiliser le plus facilement possible.

    ainsi je voudrais savoir sur quel base fonctionne les different format de temps:
    -quel est celui de IMediaPosition
    -dans IMediaSeeking:
    -TIME_FORMAT_FRAME: le temps est compter en frames
    -TIME_FORMAT_MEDIA_TIME: en 100 nano seconde
    - mais pour les autres je n'arrive pas a determiner a quoi correspond leur format : NONE, BYTE, SAMPLE,FIELD
    quelqu'un peu m'expliquer les differences entre ses format.

    mon objectif etant de pouvoir faire une fonction dans se style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    HRESULT MediaReader::FrameStepBackwards()
    {
        GUID gformat;
        LONGLONG time;
        HRESULT hr = S_OK;
     
        hr = g_pSeek->GetTimeFormat(&gformat);
        if(FAILED(hr))
        {
            AfxMessageBox("Could not Get the current time format");
            return E_FAIL;
        }
     
        hr = g_pSeek->GetTime(&time);
        if(FAILED(hr))
        {
            AfxMessageBox("Could not Get the current time format");
            return E_FAIL;
        }
     
         if(gformat == TIME_FORMAT_FRAME)
                time--;
         else if(gformat == TIME_FORMAT_MEDIA_TIME)
                time-=29970;//0.02997 sec en 100 nanoseconde
         else if ...
     
        hr = g_pSeek->SetTime(time);
        if(FAILED(hr))
        {
            AfxMessageBox("Could not Get the current time format");
            return E_FAIL;
        }
    de cette manier quelquesoit le temps de format accepter mes methode pourront marcher

    merci d'avance

  2. #2
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Par défaut
    Salut.

    Un résumé des formats ici:

    http://windowssdk.msdn.microsoft.com.../ms787785.aspx

    IMediaSeeking propose des fonctions comme "ConvertTimeFormat", "QueryPreferredFormat", "GetAvailable", ça peut aider.

Discussions similaires

  1. IMediaSeeking ne marche pas avec un DVD
    Par anarkia dans le forum DirectX
    Réponses: 5
    Dernier message: 27/10/2006, 20h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo