В симуляторе его необходимо прокручивать вверх и вниз, чтобы просмотреть полное видео, как показано на следующих снимках экрана;
скриншот симулятора 1
скриншот симулятора 2
На устройствах, например В Android 15 видео растянуто, как показано на следующих снимках экрана;
Снимок экрана 1 для Android 15
Снимок экрана 2 для Android 15
Я попробовал использовать Codename One версии 7.0.212 и следующий тестовый пример;
Код: Выделить всё
package com.example.myapp;
import com.codename1.components.MediaPlayer;
import com.codename1.components.SpanLabel;
import com.codename1.components.ToastBar;
import com.codename1.ext.filechooser.FileChooser;
import com.codename1.io.File;
import com.codename1.io.Log;
import com.codename1.media.Media;
import com.codename1.media.MediaManager;
import com.codename1.system.Lifecycle;
import com.codename1.ui.*;
import com.codename1.ui.layouts.*;
public class MyApp extends Lifecycle {
private Form form;
private SpanLabel lblPlaying;
@Override
public void runApp() {
form = new Form("Media Player", new BorderLayout());
Container cntButtons = new Container(BoxLayout.y());
Button btnAudio = new Button("Audio");
btnAudio.addActionListener(e -> browseAndPlayAudio());
Button btnVideo = new Button("Video");
btnVideo.addActionListener(e -> browseAndPlayVideo());
cntButtons.addAll(btnAudio, btnVideo);
form.add(BorderLayout.NORTH, cntButtons);
lblPlaying = new SpanLabel();
form.add(BorderLayout.SOUTH, lblPlaying);
form.getContentPane().setSafeArea(true);
form.show();
}
private void browseAndPlayAudio() {
if (FileChooser.isAvailable()) {
FileChooser.showOpenDialog(".mp3", event -> {
if (event == null) {
ToastBar.showErrorMessage("no audio selected");
} else {
String filePath = (String) event.getSource();
try {
Media media = MediaManager.createMedia(filePath, false);
media.play();
File file = new File(filePath);
lblPlaying.setText("Playing " + file.getName());
form.revalidate();
} catch (Exception error) {
Log.e(error);
}
}
});
}
}
private void browseAndPlayVideo() {
Display.getInstance().openGallery((e) -> {
if (e != null && e.getSource() != null) {
String filePath = (String) e.getSource();
try {
Media video = MediaManager.createMedia(filePath, true);
//form.removeAll();
form.add(BorderLayout.CENTER, new MediaPlayer(video));
File file = new File(filePath);
lblPlaying.setText("Playing " + file.getName());
form.revalidate();
} catch (Exception error) {
Log.e(error);
}
}
}, Display.GALLERY_VIDEO);
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... ediaplayer
Мобильная версия