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
Media и MediaPlayer не воспроизводят аудио и видео в Android 15 ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1763294006
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:
[b]Аудио процессы Android 10[/b]
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
[b]Аудиопроцессы Android 15[/b]
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
[b]Видеопроцессы Android 10[/b]
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
[b]Видеопроцессы Android 15[/b]
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
Подробнее здесь: [url]https://stackoverflow.com/questions/79816686/media-mediaplayer-not-playing-audio-video-in-android-15[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия