2017-08-29 59 views
1

我正在構建一個聊天應用程序。我正在嘗試添加對視頻的支持。設備上的MediaPlayer中的視頻/ 3gpp

的URL視頻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); 

當我做一個調試版本,並把這個在我的iPhone,我只是得到一個黑盒子,我會期待的視頻播放器是。

在模擬器中,我得到了回放控件,但沒有任何視頻。

我在做什麼不正確?

回答

0

這樣的事情應該在設備上工作,雖然模擬器可能是一個有點片狀:

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(); 
} 

注意的幾件事情:

  1. 模擬器不支持HTTPS URL的媒體由於JavaFX的限制。它不支持某些視頻流的類型和可能不支持3GP正確

  2. 的iOS需要一個HTTPS URL

  3. 我把視頻組件的邊框佈局的表單中的中心。這迫使視頻的具體尺寸是重要的。

0

3gp不支持。我將視頻轉換爲mp4並將該文件的URL提供給媒體管理器,並且工作正常。