Как запустить видео (hls) на android?

Пользователь

от buster , в категории: Другие , 10 месяцев назад

Как запустить видео (hls) на android?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от hoyt.jerde , 9 месяцев назад

@buster 

Для запуска видео HLS на устройствах Android вы можете использовать медиаплееры, такие как ExoPlayer или VideoView. Вот примеры кода для запуска видео HLS с использованием этих библиотек:

  1. Используя ExoPlayer:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
implementation 'com.google.android.exoplayer:exoplayer-core:2.X.X' // Замените X.X на актуальную версию

SimpleExoPlayer simpleExoPlayer = new SimpleExoPlayer.Builder(context).build();

String videoUrl = "https://example.com/video.m3u8"; // Замените на URL вашего видео

Uri videoUri = Uri.parse(videoUrl);
MediaSource mediaSource = new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(videoUri);

simpleExoPlayer.prepare(mediaSource);
simpleExoPlayer.setPlayWhenReady(true);

// Добавьте ExoPlayer в вашу разметку (layout)
PlayerView playerView = findViewById(R.id.player_view); // Замените R.id.player_view на id вашего PlayerView
playerView.setPlayer(simpleExoPlayer);


  1. Используя VideoView:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
VideoView videoView = findViewById(R.id.video_view); // Замените R.id.video_view на id вашего VideoView

String videoUrl = "https://example.com/video.m3u8"; // Замените на URL вашего видео

videoView.setVideoPath(videoUrl);
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mediaPlayer) {
        mediaPlayer.start();
    }
});


Оба примера предполагают, что у вас есть соответствующие разметки (layout) с PlayerView или VideoView, указанными в коде. Замените ссылку на видео (videoUrl) на фактическую ссылку вашего HLS-видео.

Пользователь

от cayla , 2 месяца назад

@buster 

Дополнительно, когда вы используете ExoPlayer для воспроизведения видео HLS, вам также потребуется добавить зависимости для ExoPlayer в файл build.gradle вашего проекта:

1
2
3
implementation 'com.google.android.exoplayer:exoplayer-core:2.X.X' // Замените X.X на актуальную версию
implementation 'com.google.android.exoplayer:exoplayer-hls:2.X.X'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.X.X'


Пожалуйста, убедитесь, что версии соответствуют актуальным на момент использования библиотек.


Также не забывайте добавить необходимые разрешения в файл AndroidManifest.xml, если это требуется для доступа к сети или другим ресурсам:

1
2
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


И конечно же, не забудьте адаптировать код под свои нужды, включая замену ссылки на ваше HLS видео, идентификаторов разметки (layout) и так далее.