Некоторые видео не помещаются в MediaPlayerJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Некоторые видео не помещаются в MediaPlayer

Сообщение Anonymous »

Некоторые подобные видео, записанные на устройстве Android 15, не помещаются в MediaPlayer.
В симуляторе его необходимо прокручивать вверх и вниз, чтобы просмотреть полное видео, как показано на следующих снимках экрана;
скриншот симулятора 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);
}
}
Как такое видео может поместиться в MediaPlayer?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ediaplayer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»