Question

Fondamentalement, je vais essayer de résumer cela. J'ai un tas de chaînes aléatoires potentiels pour recvStream.play ( « randomstring »);

alors j'ai une minuterie de vérifier toutes les 5 secondes sur une fonction qui exécute un écouteur d'événement:

recvStream.addEventListener(NetStatusEvent.NET_STATUS,
    netConnectionHandler);

alors la pensée im dans une instruction switch je peux l'utiliser pour vérifier si elle est un flux actif ou non soit l'ont chercher un autre cours d'eau qui devrait être actif ou arrêter le chronomètre et le laisser jouer.

    // i was thinking this would verify it's playing and then that's it
         case "NetStream.Play.Start" :
            trace("ITS PLAYING YOU SHOULD SEE SOMETHING");
            timer.stop();
                        break;

         // i was thinking i could use this to see if the string is nothing then the timer would run again
         case "NetStream.Buffer.Empty" :
            trace("THE BUFFER IS EMPTY KEEP LOOKING");
                        //code to look again
            break;

//I also tried NetStream.Play.StreamNotFound instead of NetStream.Buffer.Empty didn't work either

Mais il ne fonctionne vraiment pas comme ça. Y at-il autre chose que je devrais utiliser au lieu de NetStream.Buffer.Empty? Ou autre chose tous ensemble?

J'utilise Actionscript 3 dans Flash CS5 et j'utilise Cirrus RTMFP http://labs.adobe.com/technologies/cirrus/

Était-ce utile?

La solution

Je ne comprends pas pourquoi vous auriez une minuterie vérifier le flux, lorsque vous avez un auditeur attaché à vous parler de son statut:

recvStream.addEventListener(NetStatusEvent.NET_STATUS,
    netStatusHandler);

// some code

private function netStatusHandler (ev:NetStatusEvent) : void {

    if (ev.info.level == "error") {
        trace ("Something went wrong. Try again!");
        // call restart method here
        return;
    }

    switch (ev.info.code) {
        case "NetStream.Play.Start" :
            trace("IT'S PLAYING YOU SHOULD SEE SOMETHING");
            break;

        case "NetStream.Buffer.Empty" :
            trace("THE BUFFER IS NOW EMPTY.");
            break;

        // ... any other netstatus events you want to react upon.
    }
}

De toute évidence, vous devriez également considérer la validation de votre chaîne de correction de hasard avant même recvStream.play() appel -. Ce qui serait plus propre que de laisser délibérément votre NetStream Fail, et non la souche du réseau

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top