Media и MediaPlayer не воспроизводят аудио и видео в Android 15Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Media и MediaPlayer не воспроизводят аудио и видео в Android 15

Сообщение Anonymous »

Media и MediaPlayer воспроизводят аудио и видео в симуляторе и Android 10, но не в Android 15.
Я попробовал использовать CN1 версии 7.0.211 и следующий тестовый пример:
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);
}
}

Ниже приведены процессы при воспроизведении аудио и видео в Android 10 и 15:
Аудио процессы Android 10
2025-11-12 20:36:59 - MyAppStub onCreate invoked
2025-11-12 20:36:59 - MyAppStub onResume invoked
2025-11-12 20:36:59 - MyAppStub checkPermission invoked
2025-11-12 20:37:06 - AndroidImplementation checkForPermission(String permission, String description, boolean forceAsk) invoked
2025-11-12 20:37:11 - MyAppStub onResume invoked
2025-11-12 20:37:11 - MyAppStub checkPermission invoked
2025-11-12 20:37:11 - AndroidImplementation onActivityResult(int requestCode, int resultCode, Intent intent) invoked
2025-11-12 20:37:11 - AndroidImplementation getContentName(ContentResolver resolver, Uri uri) invoked
2025-11-12 20:37:12 - AndroidImplementation createMedia(final String uri, boolean isVideo, final Runnable onCompletion) invoked
2025-11-12 20:37:12 - AndroidImplementation createMedia(final String uri, boolean isVideo, final Runnable onCompletion) invoked
2025-11-12 20:37:12 - AndroidImplementation checkForPermission(String permission, String description, boolean forceAsk) invoked

Аудиопроцессы Android 15
2025-11-12 20:47:25 - MyAppStub onResume invoked
2025-11-12 20:47:25 - MyAppStub checkPermission invoked
2025-11-12 20:47:25 - MyAppStub onResume invoked
2025-11-12 20:47:25 - MyAppStub checkPermission invoked
2025-11-12 20:47:26 - MyAppStub onResume invoked
2025-11-12 20:47:26 - MyAppStub checkPermission invoked
2025-11-12 20:47:26 - MyAppStub onResume invoked
2025-11-12 20:47:26 - MyAppStub checkPermission invoked
2025-11-12 20:47:26 - MyAppStub onResume invoked
2025-11-12 20:47:26 - MyAppStub checkPermission invoked
2025-11-12 20:47:26 - MyAppStub onResume invoked
2025-11-12 20:47:26 - MyAppStub checkPermission invoked
2025-11-12 20:47:26 - MyAppStub onResume invoked
2025-11-12 20:47:26 - MyAppStub checkPermission invoked
2025-11-12 20:47:26 - MyAppStub onResume invoked
2025-11-12 20:47:26 - MyAppStub checkPermission invoked
2025-11-12 20:47:27 - MyAppStub onResume invoked
2025-11-12 20:47:27 - MyAppStub checkPermission invoked
2025-11-12 20:47:27 - MyAppStub onResume invoked
2025-11-12 20:47:27 - MyAppStub checkPermission invoked
2025-11-12 20:47:28 - MyAppStub onResume invoked
2025-11-12 20:47:28 - MyAppStub checkPermission invoked
2025-11-12 20:47:28 - AndroidImplementation onActivityResult(int requestCode, int resultCode, Intent intent) invoked
2025-11-12 20:47:28 - AndroidImplementation getContentName(ContentResolver resolver, Uri uri) invoked
2025-11-12 20:47:29 - MyAppStub onResume invoked
2025-11-12 20:47:29 - MyAppStub checkPermission invoked
2025-11-12 20:47:29 - MyAppStub onResume invoked
2025-11-12 20:47:29 - MyAppStub checkPermission invoked
2025-11-12 20:47:29 - AndroidImplementation createMedia(final String uri, boolean isVideo, final Runnable onCompletion) invoked
2025-11-12 20:47:29 - AndroidImplementation createMedia(final String uri, boolean isVideo, final Runnable onCompletion) invoked
2025-11-12 20:47:29 - AndroidImplementation checkForPermission(String permission, String description, boolean forceAsk) invoked
2025-11-12 20:47:29 - AndroidImplementation onActivityResult(int requestCode, int resultCode, Intent intent) invoked
2025-11-12 20:47:29 - AndroidImplementation getContentName(ContentResolver resolver, Uri uri) invoked
2025-11-12 20:47:29 - AndroidImplementation createMedia(final String uri, boolean isVideo, final Runnable onCompletion) invoked
2025-11-12 20:47:29 - AndroidImplementation createMedia(final String uri, boolean isVideo, final Runnable onCompletion) invoked
2025-11-12 20:47:29 - AndroidImplementation checkForPermission(String permission, String description, boolean forceAsk) invoked
2025-11-12 20:47:29 - AndroidImplementation onActivityResult(int requestCode, int resultCode, Intent intent) invoked
2025-11-12 20:47:29 - AndroidImplementation getContentName(ContentResolver resolver, Uri uri) invoked
2025-11-12 20:47:29 - AndroidImplementation createMedia(final String uri, boolean isVideo, final Runnable onCompletion) invoked
2025-11-12 20:47:29 - AndroidImplementation createMedia(final String uri, boolean isVideo, final Runnable onCompletion) invoked
2025-11-12 20:47:29 - AndroidImplementation checkForPermission(String permission, String description, boolean forceAsk) invoked

Видеопроцессы Android 10
2025-11-12 20:38:24 - MyAppStub onCreate invoked
2025-11-12 20:38:24 - MyAppStub onResume invoked
2025-11-12 20:38:24 - MyAppStub checkPermission invoked
2025-11-12 20:38:26 - AndroidImplementation checkForPermission(String permission, String description, boolean forceAsk) invoked
2025-11-12 20:38:31 - MyAppStub onResume invoked
2025-11-12 20:38:31 - MyAppStub checkPermission invoked
2025-11-12 20:38:31 - AndroidImplementation onActivityResult(int requestCode, int resultCode, Intent intent) invoked
2025-11-12 20:38:31 - AndroidImplementation createMedia(final String uri, boolean isVideo, final Runnable onCompletion) invoked
2025-11-12 20:38:31 - AndroidImplementation checkForPermission(String permission, String description, boolean forceAsk) invoked
2025-11-12 20:38:31 - AndroidImplementation CN1MediaController() invoked
2025-11-12 20:38:31 - AndroidImplementation addMediaStateChangeListener(ActionListener l) invoked

Видеопроцессы Android 15
2025-11-12 20:42:58 - MyAppStub onCreate invoked
2025-11-12 20:42:58 - MyAppStub onResume invoked
2025-11-12 20:42:58 - MyAppStub checkPermission invoked
2025-11-12 20:42:58 - MyAppStub onResume invoked
2025-11-12 20:42:58 - MyAppStub checkPermission invoked
2025-11-12 20:42:59 - MyAppStub onResume invoked
2025-11-12 20:42:59 - MyAppStub checkPermission invoked
2025-11-12 20:42:59 - MyAppStub onResume invoked
2025-11-12 20:42:59 - MyAppStub checkPermission invoked
2025-11-12 20:42:59 - MyAppStub onResume invoked
2025-11-12 20:42:59 - MyAppStub checkPermission invoked
2025-11-12 20:42:59 - MyAppStub onResume invoked
2025-11-12 20:42:59 - MyAppStub checkPermission invoked
2025-11-12 20:43:00 - MyAppStub onResume invoked
2025-11-12 20:43:00 - MyAppStub checkPermission invoked
2025-11-12 20:43:00 - MyAppStub onResume invoked
2025-11-12 20:43:00 - MyAppStub checkPermission invoked
2025-11-12 20:43:00 - MyAppStub onResume invoked
2025-11-12 20:43:00 - MyAppStub checkPermission invoked
2025-11-12 20:43:00 - MyAppStub onResume invoked
2025-11-12 20:43:00 - MyAppStub checkPermission invoked
2025-11-12 20:43:09 - MyAppStub onResume invoked
2025-11-12 20:43:09 - MyAppStub checkPermission invoked
2025-11-12 20:43:09 - AndroidImplementation onActivityResult(int requestCode, int resultCode, Intent intent) invoked
2025-11-12 20:43:09 - AndroidImplementation createMedia(final String uri, boolean isVideo, final Runnable onCompletion) invoked
2025-11-12 20:43:09 - AndroidImplementation checkForPermission(String permission, String description, boolean forceAsk) invoked


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

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

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

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

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

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