Сохранение аудиофайла в базе данных как BLOB или в файловой системе?

Я пишу приложение о том, что одна из функций состоит в том, чтобы позволить пользователю записывать короткие фразы и слушать их в более позднее время. После записи аудиодорожка предполагается отправить через Интернет и сохранить на сервере. Мои вопросы, каков наилучший способ хранения аудио в приложении для Android, а также на сервере. Я подумал о том, чтобы сохранить его в базе данных SQLite в виде большого двоичного объекта на стороне Android, а затем сделать HTTP-запрос для запуска сценария php на сервере, который вставит также большой двоичный объект во внешнюю базу данных. Или я должен хранить файлы в файловой системе как на стороне клиента, так и на стороне сервера, а в базах данных хранить только ссылки на файлы? Пожалуйста посоветуй. Спасибо.

1 ответ

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

Было бы лучше просто сохранить аудио как фактический файл на SD-карте пользователя, а затем сохранить ссылку на аудиофайл в базе данных SQLlitee на телефоне Android. Из того, что вы сказали, я не понимаю, зачем вам нужна информация в базе данных вашего внешнего сервера, но вы также можете сохранить имя файла, каталог и ID в вашей внешней базе данных.

Вы можете сохранить аудио в BLOB в базе данных SQLlite, но будьте осторожны, если аудиозапись слишком длинная, файл будет большим, и вы можете столкнуться с проблемами при вставке и извлечении из базы данных. Вы можете разбить файл на более мелкие разделы по 500 КБ и сохранить их в базе данных, получить их в соответствии с их идентификаторами, сгруппировать их и воспроизвести.

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

Другие вопросы по тегам