Веб-приложение для iPhone: база данных HTML5 и аудиофайлы - PullRequest
0 голосов
/ 16 сентября 2010

У меня проблемы с аудиофайлами в веб-приложении iPhone. Кажется, что каждый раз, когда аудиофайл воспроизводится, он сначала загружается, а затем воспроизводится, даже если повторяется один и тот же звук на странице, которая не была обновлена ​​(сделано через JavaScript). Из того, что я исследовал, файлы манифеста были бы хороши, но они предназначены для автономного применения. Сейчас я изучаю базы данных HTML5.

Кто-нибудь знает, могут ли базы данных HTML5 хранить аудиофайлы, такие как mp3? Конечный результат это затем вытащить mp3 из базы данных. Возможно, ему все равно придется загружать файл каждый раз из базы данных, но я надеюсь, что это быстрее, чем извлекать его с сервера.

Спасибо.

1 Ответ

0 голосов
/ 21 ноября 2010

Я думаю, что вы после возможно , однако у вас есть существенное препятствие в том, что реализация баз данных HTML5 в большинстве браузеров ограничена 5 МБ в соответствии с рекомендациями w3c:

Рекомендуется в основном произвольное ограничение в пять мегабайт на источник.

Сказав, что способ реализован в iPhoneSafari заключается в том, что базы данных могут увеличиваться до тех пор, пока не достигнут размера 5 МБ, после чего браузер спросит пользователя , желает ли он разрешить дополнительный размер, снова запросив 10, 50, 100 и 500 МБ (см. Раздел«Предполагаемый размер базы данных» в этой записи от html5doctor ).

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

С учетом этих параметров возможный обходной путь для этой реализации - разделить ваши mp3-объекты на несколько баз данных , создавая новую базу данных каждый раз, когда вы достигаете 4,9 МБоднако, даже если вы придерживаетесь этого дизайна, он может быть не идеальным, поскольку вы все равно будете испытывать следующее:

  • 50 МБ - это не много аудиофайлов, типичная песня 5/6 мин. составляет около 5 МБ при 128 КГц., так что это дает вам место только для 1 CD (60 мин) песен в формате mp3, после чего вам потребуется взаимодействие с пользователем, чтобы использовать дополнительное пространство базы данных.
  • У вас все еще будут существенные проблемы с безопасностью при попытке воспроизведения файлов BLOB-объектов mp3.из среды выполнения javascript, возможно, можно обойти эти обманчивые флешки, думая, что они являются потоком mp3, но я не уверен, как вы поступите с этим.

Не стесняйтесь поигратьс этим клиентом HTML5 для iPhone Я собрал, вы можете использовать что-то подобное для экспериментов с вашим локальным mp3База данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...