2012-04-16 4 views
0

Я подготовил базу данных 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) только для обновления. А после обновления записей, т. Е. С фильмами, устройство больше не использует Интернет-соединение.

ответ

2

Здесь вы идете Том, вы просто хотите сделать потоковое:

https://stackoverflow.com/a/2059259/413127

+0

Спасибо за ответ. Это потоковое видео из внешнего источника. Я хочу получить видео из базы данных (из поля BLOB, НЕ в какой-либо папке SD-карты), расположенной на устройстве (смартфоне), и играть в приложении. –

+1

Как только вы изменили его на InputStream, это не имеет значения, откуда вы его взяли. – Blundell

+0

Отличный учебник. Огромное спасибо !!! : D Это то, что мне нужно :) Большое спасибо. –

Смежные вопросы