Воспроизведение RTSP в приложении для Android
Я пытаюсь разработать приложение на базе Android, которое может воспроизводить видео из реального streamа. Этот прямой эфир создается с использованием Wowza Media Server .
URL-адрес:
rtsp://tv.hindiworldtv.com:1935/live/getpun
Я пробовал следующий код в ecliplse:
- Как настроить размер шрифта для текста, чтобы он соответствовал текстовому виду
- Компилятор Lame MP3 Encoder для Android
- Что означают эти предупреждения Android logcat?
- Не удается перенести проект в Gradle в Android Studio
- Добавить новые элементы в начало списка на Android?
package com.kalloh.wpa; import android.app.Activity; import android.content.pm.ActivityInfo; import android.net.Uri; import android.os.Bundle; import android.view.Window; import android.widget.MediaController; import android.widget.VideoView; public class a extends Activity { VideoView videoView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); //Create a VideoView widget in the layout file //use setContentView method to set content of the activity to the layout file which contains videoView this.setContentView(R.layout.videoplayer); videoView = (VideoView)this.findViewById(R.id.videoView); //add controls to a MediaPlayer like play, pause. MediaController mc = new MediaController(this); videoView.setMediaController(mc); //Set the path of Video or URI videoView.setVideoURI(Uri.parse("rtsp://tv.hindiworldtv.com:1935/live/getpnj")); // //Set the focus videoView.requestFocus(); } }
Сначала он не работал.
Теперь он начал работать, но он останавливается через 20-30 секунд. Как я могу исправить эту проблему?
- findViewByID возвращает null
- Как сохранить изображение, полученное из url в базе данных SQLite?
- Android - сохранение / восстановление состояния fragmentа
- Импорт com.google.android.gms невозможен.
- Ошибка раздувания classа android.support.design.widget.NavigationView
- DialogFragment и onDismiss
- Полный рабочий пример сценария анимации с тремя fragmentами Gmail?
- В чем разница между compileSdkVersion и targetSdkVersion?
Использование VideoView – хорошее решение, но мы также можем использовать native player
для воспроизведения RTSP. Это пример:
if (movieurl.startsWith("rtsp://")) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(movieurl)); startActivity(intent); }
Помните, что ваши медиа должны быть созданы с поддерживаемыми форматами носителей Android ( кодеки ).
У меня также была та же проблема в ICS 4.x. Кроме того, вы можете проверить, работает ли URL вашего streamа правильно или нет.
Также проверьте свой код с помощью этого образца URL .
Я нашел решение. Передача должна быть в предпочтительной настройке Android. Дополнительные сведения см. В разделе Поддерживаемые форматы носителей .
У меня была та же проблема с Galaxy Note N7000 (ICS 4.0.3) и VLC 2.0.2 – видео умирает через 60 секунд. Но когда я перехожу к VLC media player 1.1.4, все работает хорошо!
Поэтому иногда это зависит от медиа-сервера. Вы можете попробовать RTSP с YouTube (перейдите на m.youtube.com, а затем щелкните правой кнопкой мыши по некоторому видео -> ссылка на место копирования -> это ссылка RTSP, в которой вы нуждаетесь).