У меня следующая проблема:
- У меня есть приложение Cordova для iOS.
- Приложение загружает zip-файл и распаковывает его в «cdvfile: // localhost / persistent / content / myfolder», используя следующие плагины Cordova: org.apache.cordova.file-transfer, org.apache.cordova.file и https://github.com/MobileChromeApps/zip.git
- Внутри zip-архива находится файл index.html с тегами видео.
- Мне удалось успешно загрузить и выполнить файл index.html, но видео не загружается.
Я знаю, что видеофайл был успешно распакован, потому что:
- Я проверяю файл в своем iPad.
Я вставляю видео в индекс приложения Cordova (а не в загруженное) следующим образом, и оно работает:
var videocontainer = document.getElementsByTagName('video')[0]; var videosource = document.getElementsByTagName('source')[0]; var newmp4 = cordova.file.documentsDirectory + 'content/myfolder/videos/myvideo.mp4'; videosource.setAttribute('src', newmp4); videocontainer.load(); videocontainer.play();
Но видео не загружается / не воспроизводится внутри загруженного файла HTML. Чтобы понять, что я делаю, мне нужно разработать приложение, которое будет обновляться, загружая его содержимое из zip-архивов, и это содержимое включает страницы с встроенными в них видео. Работает на ПК и Android, но не на iOS.
Я пробовал следующее:
- Загрузка страницы в "_self". Страница отображается, но не видео.
- Загрузка страницы в iframe. Тот же результат.
- Загрузка страницы в inAppBrowser (плагин). Тот же результат.
- Тег видео с источником src = "videos / myvideo.mp4" (работает в Интернете и Android). Тот же результат.
- Тег видео с источником src = "./ videos / myvideo.mp4" (работает в Интернете и Android). Тот же результат.
- Тег видео с источником src = cordova.file.documentsDirectory + 'content / myfolder / videos / myvideo.mp4' (с JS, путем передачи пути в строке запроса, тот же путь, который работает в корневом index.html, как я описал ранее ). Тот же результат.
- Тег видео с источником src = cordova.file.documentsDirectory + 'cdvfile: //localhost/persistent/content/myfolder/videos/myvideo.mp4'. Тот же результат.
- Все комбинации предыдущих вещей. Тот же результат ....
Загрузка загруженных ресурсов в DIV не является вариантом, потому что ресурсы (изображения, css, javascripts, аудио, видео и т. Д.) Загружаются в папку другого устройства iOS: папку Documents приложения (cdvfile: // localhost / persistent /).
Кажется, я пробовал почти все ... Почему нетривиально воспроизвести тег видео внутри html, которые оба находятся в папке Documents приложения ???
:-(
РЕДАКТИРОВАТЬ 1: Версия Кордовы = 3.6.3