Я подготовил базу данных SQLite в SQLite Manager со всеми данными, добавленными вручную. Это db хранимых изображений (BLOB), текстовых и видео (BLOB) файлов. Я не могу хранить только ссылку URL/SD-карты для видео, но весь файл в базе данных. Я легко могу получить текст и изображения из базы данных и показать в своем приложении.Android: получить сохраненное видео из базы данных
Для изображений код ниже:
Cursor cursor = myDbHelper.getData(); // select from database text, images(BLOB) and videos(BLOB).
...
ByteArrayInputStream inputStream = new ByteArrayInputStream(cursor.getBlob(1)); //image
Bitmap b = BitmapFactory.decodeStream(inputStream);
ImageView iv = new ImageView(this);
iv.setImageBitmap(b);
И это работает. Но я не знаю, как получить видео с BLOB и отображения/воспроизведения в области VideoView с помощью:
ByteArrayInputStream inputStream = new ByteArrayInputStream(cursor.getBlob(2)); //video
Как поставить InputStream в VideoView или другой формат для отображения в приложении. Пожалуйста, помогите.
EDIT: Я хранил всю базу данных (с текстом, изображениями и видео) на устройстве. Я подключаюсь к внешней базе данных (MySQL) только для обновления. А после обновления записей, т. Е. С фильмами, устройство больше не использует Интернет-соединение.
Спасибо за ответ. Это потоковое видео из внешнего источника. Я хочу получить видео из базы данных (из поля BLOB, НЕ в какой-либо папке SD-карты), расположенной на устройстве (смартфоне), и играть в приложении. –
Как только вы изменили его на InputStream, это не имеет значения, откуда вы его взяли. – Blundell
Отличный учебник. Огромное спасибо !!! : D Это то, что мне нужно :) Большое спасибо. –