Есть ли способ получить прогресс загрузки mp3 на iPad? - PullRequest
1 голос
/ 07 октября 2011

Мы разрабатываем веб-приложение Javascript для Ipad, которое требует предварительной загрузки звуков перед загрузкой.Мы не знаем, какие звуки нужны пользователю, пока они не нажмут на упражнение, а затем ему нужно предварительно загрузить несколько звуков, прежде чем приступить к упражнению.

Я знаю, что метода предварительной загрузки не существует, и что загрузка необходимабыть привязанным к прямому событию касания / нажатия.Мы потратили значительное количество времени, пытаясь во многих комбинациях динамически добавлять элементы мультимедиа при каждом клике (загруженные фиктивными звуками), а затем пытаясь заменить их нужными нам mp3-файлами.

Мы отказалисьпри таком подходе и мысли мы могли бы просто объединить звуки в один файл и переместить головку воспроизведения в нужные диапазоны (содержащиеся в файле JSON).Мы успешно сработали на настольном компьютере, но не можем сделать это на Ipad, потому что не знаем, когда звук полностью загрузится.

Даже после того, как пользователь запускает воспроизводимый звук, устройствоне имеет метода для проверки, когда звук полностью загружен.Фактически, он не загружает весь файл, пока не воспроизводится.Что мы обнаружили, так это то, что мы не можем постоянно получать продолжительность, пока игровая голова не достигнет конца линейным способом.Мы попытались проверить свойства buffered.start () и buffered.end () по нашей собственной продолжительности (у нас есть файл JSON со всеми временами), но как только мы пытаемся установить audioElement.currentTime и stopTime, он просто воспроизводитсявесь звук от начала до конца.

Мы обнаружили, что свойство seekable также ненадежно.

Сейчас мы работаем с ios5, и я считаю, что более старые версии работают по-разному в отношении свойства duration.

Кто-нибудь смог заставить это работать?

...