QTMovieLayer et opacité

Bonjour


 


J'ai un petit souci pour rendre une QTMovie opaque.


J'ai utilité QTMovieLayer et fait un setOpacity mais ça ne marche pas


 


J'ai sans doute oublié quelque chose mais Quoi ?


 


Quelqu'un aurait il une idée ?


 


Voci le code



//opacité
QTMovieLayer *movieLayer;

// creer ma movie layer
movieLayer = [QTMovieLayer layerWithMovie:[movieView1 movie]];

movieLayer.opacity = .5;

Merci d'avance


 


Réponses

  • mpergandmpergand Membre
    septembre 2013 modifié #2

    Ouais, c'est sûr, il manque quelque chose  ::)


     


    Regarde cette page


     



    Using Layers Directly


    The ability to manipulate a NSView hierarchy with Core Animation provides an incredible amount of flexibility. But, for the creation of brand-new interfaces, such as Cover Flow or Front Row, or to mix media types in the same view, such as overlaying text and controls on top of a QuickTime movie, you'll need to go one step further and work with layers directly.


    The following code shows an example of this:


     


     CATextLayer *textLayer = [CATextLayer layerWithText:@Hello fontSize:25];
    QTMovieLayer *movie = [QTMovieLayer layerWithMovie:qtMovie];
    [toplayer setSublayers:[NSArray arrayWithObjects:textLayer, movieLayer, nil]];

     

    To display a view containing your layer hierarchy, you can use the following code:


      - (void) awakeFromNib
    {
    [view setWantsLayer:YES];
    [view setLayer:toplayer];
    }
  • Oui en effet, c'était trop simple. En fait, je me suis plongé dans l'exemple MyMediaPlayer fournir par apple et ça marche. Mais cela ne correspond pas à  ce que je veux. Le CALayer ne donne l'opacité que sur le rendu. J'aurais voulu rendre la track elle même opaque. J'ai bien trouvé quelque chose : 



    MediaHandler mh = GetMediaHandler([[self media] quickTimeMedia]);
    RGBColor color = { (int)(opacity*255) << 8, (int)(opacity*255) << 8, (int)(opacity*255) << 8};
    MediaSetGraphicsMode(mh, graphicsModeStraightAlphaBlend, &color);

    mais cela ne fonctionne qu'en 32 bits


    Connais tu quelque chose d'équivalent (donc sous QTTrack) qui fonctionnerait sous 64 bits ? 


     


    Merci d'avance


Connectez-vous ou Inscrivez-vous pour répondre.