Frage

Ich glaube, ich bin mit Input falsch mit einem Blackberry 9000-Simulator:

Ich fand einige Beispiel-Code,

http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800332/1089414/How_To_-_Play_video_within_a_BlackBerry_smartphone_application.html?nodeid=1383173&vernum=0

, die Sie Video spielen aus einem Blackberry App lässt. Die Code-Ansprüche kann es HTTP behandeln, aber es ist etwas fandangling genommen, um es tatsächlich zu bekommen zu nähern tut so:

http://pastie.org/609491

Im Einzelnen ich tue:

 StreamConnection s = null;
            s = (StreamConnection)Connector.open("http://10.252.9.15/eggs.3gp");
            HttpConnection c = (HttpConnection)s;                        
           InputStream i = c.openInputStream();
            System.out.println("~~~~~I have a connection?~~~~~~" + c);
            System.out.println("~~~~~I have a URL?~~~~" + c.getURL());
            System.out.println("~~~~~I have a type?~~~~" + c.getType());
            System.out.println("~~~~~I have a status?~~~~~~" + c.getResponseCode());

            System.out.println("~~~~~I have a stream?~~~~~~" + i);
             player = Manager.createPlayer(i, c.getType());

Ich habe festgestellt, dass dies der einzige Weg ist, ich einen Inputstream von einem Httpconnection bekommen kann, ohne eine Verursachung: „JUM Fehler 104: Uncaught Nullpointer Exception“. (Das heißt, das Gießen als StreamConnection, und dann als eine Httpconnection stoppt mich vor einem Absturz).

Aber ich bin immer noch nicht Streaming-Video. Zuvor war ein Strom wird nicht in der Lage geschaffen (es wäre mit der Null-Zeiger Ausnahme abstürze). Nun wird ein Strom gemacht wird, die Debugger Ansprüche es begining Video von ihm zu streamen ... und nichts passiert. Keine Videospiele.

Die App nicht einfrieren oder abstürzen oder sonst etwas. Ich kann ‚Pause‘ und ‚Spiel‘ frei und entsprechende Debug-Meldungen für beide bekommen. Aber kein Video zeigt nach oben.

Wenn ich ein Video abspielen lokal auf dem Blackberry gespeichert, alles in Ordnung ist (es spielt eigentlich das Video), so dass ich die Spieler weiß selbst funktioniert prima, ich "m nur fragen, ob vielleicht mit mir etwas falsch habe meine streamen?

Die API sagt der Spieler in einem Inputstream nehmen. Gibt es eine bestimmte Art es braucht? Wie kann ich meine Abfrage Input zu wissen, ob es gültig ist? Es existiert, ist weiter, als ich vorher bekommen habe.

-Jenny

Edit: Ich bin auf einem Blackberry Bold Simulator (9000). Ich habe gehört, dass einige Versionen von Handys, aber kein Video über HTTP-Stream, die Kühne tut. Ich habe noch Beispiele für diese allerdings zu sehen. Als ich mit dem Internet und zeigt auf einem Blackberry spielbaren Video gehen, versucht er zu streamen, und mich dann physisch fragt, um die Datei herunterzuladen (und spielt dann fein, wenn ich Download).

Edit: Auch ich habe eine physische Blackberry Bold, als gut, aber es kann auch nicht streamen (Ich habe zu m.youtube.com gegangen, nur einen Server / Inhalt nicht gefunden Fehler zu bekommen). Gibt es etwas Besonderes ich tun, um RTSP Inhalt zu streamen?

War es hilfreich?

Lösung

So, nach einer sehr langen Zeit habe ich, dass das Bold 9000 Blackberry bestimmt nicht tun http-Streaming. Am Ende habe ich (oder eher ein Mitarbeiter von mir, die zu) es Schreib benutzerdefinierte Methoden für den progressiven Download zu simulieren. Oh, gut.

Andere Tipps

Es soll möglich sein, tatsächlich zu streamen. Zunächst müssen Sie sicherstellen, sind Anfügen Sie die richtigen Verbindungsparameter zu Ihrer URL (dh. „; Interface = wifi“ für eine WiFi-Verbindung). Zweitens müssen Sie sicherstellen, dass die Datei, die Sie Streaming nicht zu groß ist. Wenn sie zu groß ist, wird eine HTTP-Fehlermeldung, „Datei zu groß“ bekommen. Um dies zu beheben, müssen Sie die Dinge puffern (das Datasource-APIs Check out). Sie sollten begrenzen, was Sie über 1-2MB fordern. Nachdem Sie, dass „chunk“ gezogen haben müssen Sie sequentielle Stücke halten Anfordern (mit separaten HTTP-Verbindungen), um fortzufahren Sie Puffer zu füllen. Ich hoffe, das hilft

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top