Ниже приведен мой код для воспроизведения видео по URL
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
MediaPlayer mp;
SurfaceView sv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mp = new MediaPlayer();
sv = (SurfaceView) findViewById(R.id.surfaceView);
SurfaceHolder holder = sv.getHolder();
holder.addCallback(new SurfaceHolder.Callback(){
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { }
@Override
public void surfaceCreated(SurfaceHolder holder) {
try {
mp.setSurface(holder.getSurface());
mp.setDataSource("https://v2.chartboost.com/videoads/636e ... 162356.mp4");
mp.prepare();
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mp.start();
}
});
} catch (IOException e) {
throw new RuntimeException(e);
}
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) { }
});
}
@Override
protected void onResume() {
super.onResume();
if(mp!= null) {
mp.start();
}
}
@Override
protected void onPause(){
super.onPause();
mp.pause();
mp.setSurface(null);
}
}
Приведенный выше код не дает ожидаемого результата. Когда приложение переходит в фоновый режим и выводится на передний план, видео перезапускается, а не возобновляется. Я пробовал много вещей, но это все равно не работает.
Примечание. Я не могу использовать TextureView из-за требований.
Обновление:Я попробовал метод seekTo, он работает, но на долю секунды экран становится черным
mp.seekTo(currentPosition, SEEK_CLOSEST);
Подробнее здесь: https://stackoverflow.com/questions/787 ... -on-resume
Видео Android MediaPlayer SurfaceView перезапускается при возобновлении работы ⇐ JAVA
Программисты JAVA общаются здесь
1721973125
Гость
Ниже приведен мой код для воспроизведения видео по URL
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
MediaPlayer mp;
SurfaceView sv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mp = new MediaPlayer();
sv = (SurfaceView) findViewById(R.id.surfaceView);
SurfaceHolder holder = sv.getHolder();
holder.addCallback(new SurfaceHolder.Callback(){
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { }
@Override
public void surfaceCreated(SurfaceHolder holder) {
try {
mp.setSurface(holder.getSurface());
mp.setDataSource("https://v2.chartboost.com/videoads/636e2334a790a80850ecd48b_720-1668162356.mp4");
mp.prepare();
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mp.start();
}
});
} catch (IOException e) {
throw new RuntimeException(e);
}
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) { }
});
}
@Override
protected void onResume() {
super.onResume();
if(mp!= null) {
mp.start();
}
}
@Override
protected void onPause(){
super.onPause();
mp.pause();
mp.setSurface(null);
}
}
Приведенный выше код не дает ожидаемого результата. Когда приложение переходит в фоновый режим и выводится на передний план, видео перезапускается, а не возобновляется. Я пробовал много вещей, но это все равно не работает.
Примечание. Я не могу использовать TextureView из-за требований.
Обновление:Я попробовал метод seekTo, он работает, но на долю секунды экран становится черным
mp.seekTo(currentPosition, SEEK_CLOSEST);
Подробнее здесь: [url]https://stackoverflow.com/questions/78755962/android-mediaplayer-surfaceview-video-restarts-on-resume[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия