Я занимаюсь разработкой приложения для Android, где я работал над образцом телевизионного приложения, представленным в шаблоне студии Android. Здесь все работает нормально, но на экране видеоплеера отображается сообщение «Невозможно воспроизвести это видео» в Android TV Emulator.Видео не воспроизводится в Android TV Emulator
Ref файл PlaybackOverlayActivity.java =>onFragmentPlayPause() (когда мы создаем новый телевизионный проект в студии андроида)
В демо, они использовали VideoView. Я также попытался с помощью поверхности вида вида/текстур для воспроизведения видео с помощью ссылки, но это дает различные ошибки как
1.MediaPlayer: ошибка (100, 0)
2.MediaPlayer: Если есть контроллер субтитров уже установлено
3.MediaPlayer: ошибка (1, -38)
Я уже пробовал разные решения от разных потоков ...
Пожалуйста, проверьте ниже код, его просто Ф.О. r тестирование воспроизведения видео. Я также обнаружил, что любой эмулятор, созданный с помощью AVD, не может воспроизводить видео с помощью любого из этих методов.
public class MainActivity extends Activity implements TextureView.SurfaceTextureListener, MediaPlayer.OnPreparedListener {
private MediaPlayer mMediaPlayer;
private TextureView mPreview;
private String path = "http://www.sample-videos.com/video/mp4/240/big_buck_bunny_240p_1mb.mp4";
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.activity_main);
mPreview = (TextureView) findViewById(R.id.surface);
mPreview.setSurfaceTextureListener(this);
}
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
Surface s = new Surface(surface);
try {
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setSurface(s);
mMediaPlayer.setDataSource(this, Uri.parse(path));
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.prepare();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
}
@Override
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
return false;
}
@Override
public void onSurfaceTextureUpdated(SurfaceTexture surface) {
}
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
}
сказать также, если есть любой другой способ проверить видео на Android TV Emulator. Благодарю.
Он работает в обычном мобильном эмуляторе ?? – Madhur
Я уже говорил, что «я также обнаружил, что любой эмулятор, созданный с AVD, не может воспроизводить видео». Но он играет в эмуляторе genymotion (телефон). – Harry