2017-08-29 1 views
1

Je crée une application de chat. J'essaie d'ajouter du support pour les vidéos.Vidéo/3gpp dans MediaPlayer sur le périphérique

l'URL de la vidéo est https://api.twilio.com/2010-04-01/Accounts/AC5c869939f6863233a73ac697207c3697/Messages/MMf01fb40e39c41feafbc0967590f161e8/Media/MEbd3e3d9a0c2be95e01de341889e8cfbb

Container container = new Container(new BorderLayout()); 
Media video = com.codename1.media.MediaManager.createMedia(url, true); // url is the url above 
video.setNativePlayerMode(true); 
MediaPlayer mp = new MediaPlayer(video); 

//place the media player in the container 
container.add(BorderLayout.CENTER, mp); 
Component component = Container.encloseIn(new FlowLayout(Container.RIGHT), container); 

Quand je fais une version de débogage et de mettre cela sur mon iPhone, je reçois juste une boîte noire où j'attends le lecteur vidéo soit.

Dans le simulateur, j'ai obtenu des contrôles de lecture, mais pas de vidéo non plus.

Que fais-je incorrectement?

Répondre

0

Quelque chose comme cela devrait fonctionner sur l'appareil même si le simulateur peut être un peu squameuse:

Form hi = new Form("Player", new BorderLayout()); 
try { 
    Media video = MediaManager.createMedia("https://api.twilio.com/2010-04-01/Accounts/AC5c869939f6863233a73ac697207c3697/Messages/MMf01fb40e39c41feafbc0967590f161e8/Media/MEbd3e3d9a0c2be95e01de341889e8cfbb", true); 
    hi.add(CENTER, video.getVideoComponent()); 
    video.setNativePlayerMode(true); 
    hi.show(); 
    hi.addShowListener(e -> video.play()); 
} catch(IOException err) { 
    Log.e(err); 
    hi.add(CENTER, "Failed to load video"); 
    hi.show(); 
} 

Avis quelques choses:

  1. est pour les médias le simulateur ne prend pas en charge HTTPS URL en raison des limites de JavaFX. Il ne supporte pas certains types de flux vidéo et pourrait ne pas soutenir 3gp correctement

  2. iOS nécessite une URL HTTPS

  3. J'ai placé le composant vidéo au centre de la mise en page de la frontière sous une forme. Cela force une taille spécifique pour la vidéo, ce qui est important.

0

3gp n'est pas supporté. Je convertis la vidéo en mp4 et fournissons l'url de ce fichier au Media Manager et ça marche bien.