2016-09-23 1 views
2

У меня есть приложение Cordova, которое загружает видеофайл в локальное хранилище, а затем воспроизводит его с помощью тега HTML <video>. Это отлично работало на iOS и Android на версии Cordova 3.7.1. Недавно я обновил Кордову до последней версии (6.3.1), и теперь видео не воспроизводится на Android. iOS работает нормально.Кордова. теперь не

Видеофайл сохраняется в file:///storage/emulated/0/Android/data/org.my.package/foobar.mp4; используя ADB, я вижу, что файл правильно сохранен (с использованием FileTransfer) в этом месте. Размер файла правильный, а разрешения - пользовательские и групповые.

Видео, похоже, не загружается; v.src пуст, и v.duration является NaN и v.networkState является 3 (NETWORK_NO_SOURCE)

видео элемент

<video id="video" playsinline="1" webkit-plays-inline="1" poster preload="metadata"> 
    <source id="source" type="video/mp4" 
     src="file:///storage/emulated/0/Android/data/org.my.package/foobar.mp4"> 
</video> 

Я не изменил HTML или JavaScript, после обновления Кордова 6.3.1.

ответ

1

(предыдущий неправильный ответ удален.)

Я думаю, что проблема была на самом деле Пешеходный плагин. Добавление или удаление плагина не вступает в силу до тех пор, пока вы не удалите платформу и не добавите ее снова, поэтому я не подозревал об этом.

В частности, я включил опцию Crosswork --enable-unified-media-pipeline, чтобы попытаться помочь мне с другой проблемой (возможность установки скорости воспроизведения видео). Удаление этой опции заставляет ее работать снова. Это противоречит интуиции, потому что вам часто рекомендуется включить эту функцию, чтобы исправить проблемы с видео.