Я новичок в разработке Android и пытаюсь воспроизвести несколько видео в виде списка. В настоящее время каждый элемент строки списка представляет собой VideoView. Этот подход не работает, так как VideoViews работают ненормально, когда я начинаю прокручивать. Я исследовал здесь, здесь, здесь и обнаружил, что VideoViews и TextureViews плохо работают в ListViews и ScrollViews. Как такие приложения, как Vine и Instagram, могут воспроизводить видео в списках? Любая помощь приветствуется?
Как воспроизвести видео в ListView, например, в Instagram и Vine?
Ответы (2)
Хотя ответ запоздал, но я думаю, что это может помочь кому-то найти то же самое. На github есть пример приложения, в котором реализовано это требование.: -
https://github.com/danylovolokh/VideoPlayerManager
Для понимания кода обратитесь к следующей ссылке, это действительно полезно для вас: -
Проблема в том, что существуют некоторые ограничения в VideoView в listview и обработке воспроизведений, поэтому эта библиотека реализует VideoView на основе TextureView . Вот как это выглядит
Для воспроизведения видео в Listview вам нужно открыть видео при нажатии элемента ListView, после чего вы можете получить URL-адрес видео в строке, например:
String myUrl = urHashMaparraylist.get(position).get("videolocation");
Теперь передайте этот myUrl следующему действию и просто установите эту строку как
Uri video = Uri.parse(myUrl);
videoView.setVideoURI(video);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
String myUrl = urHashMaparraylist.get(position).get("videolocation");
Intent n = new Intent(YourActivityName.this , NewActivityName.class);
n.putExtra("videolocation",myUrl);
startActivity(n);
}
});
Теперь в вашем следующем действии извлеките его как
Uri video = Uri.parse(url);
videoView.setVideoURI(video);
В некоторых случаях для настройки VideoView можно использовать:
android:background:"#0000"
как из Android Scrollview с видеопросмотром вызывает проблему
Вместо VideoView вы также можете попробовать использовать TextureView для справки, вы можете увидеть ссылку номер 2:
Для получения дополнительной информации о потоковом видео... вы можете проверить следующий URL-адрес: 1>http://developer.samsung.com/android/technical-docs/Android-Media-Streaming-Tutorial
2>http://developer.android.com/reference/android/view/TextureView.html