2015-06-10 3 views
2

Я пытаюсь представить видео base64 с помощью Angular, только он не может его интерполировать из-за поставщика $ sce, не доверяющего источнику (который является простым URL-адресом данных).

Error: [$interpolate:interr] Can't interpolate: {{video}} 
Error: [$sce:insecurl] Blocked loading resource from url not allowed by $sceDelegate policy. 
URL: data:video/mp4;base64,AAAAGGZ0eXBtcDQyAAAAAGlzb21tcDQyAAAvzm1vb3YAAABsbXZoZ…+VXw5feXy+X3p3xV429Xirw87eVd0svWnUu3by8hW9zS6twXS5ZcbmgmlcKy+3CsI4raC9YA== 

До сих пор, что я пытался:

$scope.video = $sce.trustAsResourceUrl('base64-string-here'); 

Этот не работал, я считаю, что метод по-прежнему ожидает действующей ссылки, а не URL-адрес данных, поэтому не правильное решение.

Вторая попытка:

angular.module('myAppWithSceDisabledmyApp', []).config(function($sceProvider) { 
// Completely disable SCE. 
// Do not use in new projects. 
$sceProvider.enabled(false); 
}); 

Это, конечно работает, но затем он отключает весь поставщик, следовательно, делает приложение уязвимым.

Я еще не нашел подходящего решения для этого, я показываю изображения base64 без каких-либо хлопот, поэтому я уверен, что должен быть способ решить его или, по крайней мере, обходной путь.

Большое спасибо за помощь!

ответ

1

Если кто-то ищет решение, вот мой вход 3 месяца после размещения вопрос:

Base64 для видео не является хорошей идеей, даже если вы решите проблему интерполяции приложение будет врезаться на Android, когда играл ,

Я потратил много времени на ней, так что решение о «как играть без потокового видео на программах» заключается в следующем:

  1. Скачать файл на локальный телефон и играть его оттуда (если вы используете угловые, то посмотрите на плагин передачи файлов ngCordova)

  2. Для Android: тег HTML5 будет не работает. Причина находится где-то между разрешениями и Android, не позволяя местным видео воспроизводиться на HTML. Используйте андроид видео плеер, такие как this media player

Для прошивки: HTML5 тег видео работает отлично с игрой местных видео. Он преобразует его с родным.

Надеюсь, что когда-нибудь это поможет кому-то.

Смежные вопросы