Я думаю, что вы после возможно , однако у вас есть существенное препятствие в том, что реализация баз данных 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База данных.