J'ai ce film d'une minute que je veux compiler dans un projet AS3. Le film a commencé au format MOV, j'ai donc utilisé FFMpeg pour le convertir en FLV, puis à nouveau avec FFMpeg de FLV à SWF.AS3 - La vidéo SWF intégrée montre totalFrames == 0
J'intégrer ce film dans le binaire AS3 en utilisant Embed
métadonnées:
[Embed(source="1.swf")] private var _Vid:Class;
J'ai un conteneur Sprite que ce film est ajouté à. Avant qu'il ne soit ajouté, je jetai le film embarqué comme MovieClip:
var vid:Object = new _Vid(); return vid as MovieClip;
Quand j'ajoute le clip vidéo obtenu à l'étape, il commence à jouer immédiatement et semble jouer très bien. Toutefois, lorsque je vérifie la propriété totalFrames du clip, il renvoie 0. Et le clip ne semble pas répondre aux appels stop
ou gotoAndStop
. J'obtiens le même comportement en intégrant le film dans un fichier SWF dans l'IDE Flash, puis en incorporant le résultat de la même manière, il semble donc que quelque chose ne va pas avec la façon dont je l'ajoute à la scène. Des pensées?
EDIT: En tant qu'exigence du produit, le film as3 ne peut pas charger la vidéo à partir d'un fichier externe. Il doit être compilé, de sorte que le fichier .swf qui en résulte puisse fonctionner complètement seul sans avoir à compter sur d'autres fichiers externes.
EDIT 2: Après vérification, l'instance MovieClip qui résulte de:
[Embed(source="1.swf")] private var _Vid:Class;
var vid:Object = new _Vid(); return vid as MovieClip;
a un objet enfant qui est de chargeur de classe, et que l'enfant n'a pas d'enfant. J'ai essayé de lancer l'enfant directement en MovieClip mais en vain.
EDIT 3: D'après ce que je lis here et here, l'API 10.1 pour l'objet NetStream expose une méthode appelée appendBytes. J'ai encore besoin de regarder plus loin dans cela, mais je pourrais incorporer le fichier .flv comme un flux d'octets et nourrir les octets manuellement à l'objet Net Stream pour lire la vidéo. Je vais poster le résultat de mes tests dans quelques ...
Aucun de ces tutoriels ne parle de l'intégration d'un fichier vidéo, ce que j'ai clairement inclus dans ma question. Ceci est une exigence du produit ... la vidéo ne peut pas être téléchargée à partir d'un emplacement réseau. – jtrim
Je vous trouve un peu rapide sur le front négatif. il semble que vous n'ayez même pas pris la peine de regarder le premier tutoriel où Lee Brimelow déclare clairement dès le début que la vidéo qu'il utilise est sur son bureau, pas un emplacement réseau !!! Maintenant, si vous ne comprenez pas un tutoriel, blâmez-vous pas moi. Heureusement, la plupart des gens ici ne vous ressemblent pas! N'évacuez pas votre frustration sur ceux qui essaient de vous aider. Essaie juste d'apprendre comme nous l'avons tous fait ici. mon conseil, détendez-vous, reculer et regarder le tutoriel une fois de plus, quand vous l'avez enfin, il suffit de se débarrasser de ce négatif et de marquer votre question comme une réponse. – PatrickS
En fait, j'ai pris la peine de regarder les deux tutoriels en détail. L'auteur de la première vidéo dit le mot "incorporé" dans la vidéo, mais il n'est pas incorporé dans le sens où le fichier vidéo est réellement compilé dans le fichier .swf résultant. Notez la balise de métadonnées [Embed] dans ma question initiale. Votre réponse était complètement hors de propos - d'où le -1. Rien de personnel, votre réponse est juste sans rapport avec ma question. – jtrim