2009-06-09 6 views
2

Ich (oder eher einige meiner Studenten) haben eine Java ME (die Plattform, die immer noch J2ME nennt) Anwendung, die Videos mit JSR-135 und VideoControl zeigt. Sie haben MPEG-1-Videodateien erstellt, und es funktioniert im Emulator, aber nicht auf einem der tatsächlichen Telefone, die sie versucht haben. Der Anruf an getControl in Player gibt null zurück.Welche Videoformate für Java ME in Mobiltelefonen verwenden?

Ich denke, das ist, weil das Telefon das Videoformat nicht zeigen kann, aber der Emulator kann. Klingt das richtig?

Gibt es ein Format, das sie verwenden sollten, um die Wahrscheinlichkeit zu maximieren, dass verschiedene Telefone damit umgehen können? Ja, mpeg-1, aber eine bestimmte Auflösung und so weiter?

Antwort

1

Was Sie suchen, ist der Wert der Systemeigenschaft video.encodings für eine Reihe von Telefonen.

Zum Beispiel das Nokia N95, Firmware v20 sagt:

'encoding = video/3GPP encoding = Video/3GPP2 Codierung = video/mp4'

(in der Regel ein Telefon der Lage ist, sowohl die Aufnahme als auch die Wiedergabe der gleichen Videoformate)

Leider ist das Sammeln dieser Informationen in großem Umfang mit vielen Geräten nicht billig und ich erwarte nicht, dass Sie ein kostenloses Online-Repository für diese Informationen finden.

Wenn Sie nach der Fähigkeit eines bestimmten Geräts suchen, finden Sie auf der Website des Herstellers für Entwickler wahrscheinlich die besten Informationen.

Sie können auch sehen, ob www.deviceanywhere.com Angebote für Bildungsorganisationen geben wird.

+0

Ok, danke für die Antwort! –

2

Zum Überprüfen der Videofunktionen auf einem Telefon können Sie versuchen, die WURFL (wurfl.sf.net) zu verwenden. Es handelt sich um eine MASSIVE XML-Datei, die eine Karte von Telefon-Browser-Benutzer-Agent-zu-Telefon-Funktionen enthält. Sie könnten versuchen, ein Beispiel daraus zu nehmen, um zu sehen, welche Formate am häufigsten unterstützt werden. Die API selbst ist nicht die beste, aber für Ihre Zwecke können Sie wahrscheinlich die playback_ * -Eigenschaften aus dem XML herauslesen.

1

In meinen Experimenten bin ich auf verschiedene JVMs gestoßen, die ziemlich zimperlich in Bezug auf die Videobildrate und das Videoformat sind. Sie können das Videoformat mit der System.getProperty ("video.encodings") herausfinden; wie in der ersten Antwort erwähnt. Aber für die Videobildfrequenz habe ich keinen Code dafür gefunden. Sie könnten mit einer Versuch-und-Irrtum-Methode besser dran sein. Hoffe das hilft!