2015-02-13 2 views
1

Я пытаюсь реализовать Videogular в своем аудиоплеере App. Настройки в примере кода на this page приведены ниже:Videogular - Фильтр даты в чч: мм: формат ss не работает

 <vg-time-display>{{ currentTime | date:'mm:ss' }}</vg-time-display> 
     <vg-scrub-bar> 
     <vg-scrub-bar-current-time></vg-scrub-bar-current-time> 
     </vg-scrub-bar> 
     <vg-time-display>{{ timeLeft | date:'mm:ss' }}</vg-time-display> 

Однако аудиозаписей, что я пытаюсь загрузить более чем один час длиной, поэтому мне нужно реализовать «чч: мм: сс». Когда я меняю формат на hh:mm:ss, он добавляет примерно 5:00 часов к длительности, и 00:01:30 отображается как 05:01:30

С некоторыми экспериментами adhoc в настройках «videogular.js» исправлено следующее изменение проблема:

this.onUpdateTime = function (event) { 
    $scope.API.currentTime = 1000 * event.target.currentTime - (1000 * 60 * 300 * 5 * 5); 

    if (event.target.duration != Infinity) { 
    $scope.API.totalTime = 1000 * event.target.duration - (1000 * 60 * 300 * 5 * 5); 
    $scope.API.timeLeft = 1000 * (event.target.duration - event.target.currentTime) - (1000 * 60 * 300 * 5 * 5); 
    $scope.API.isLive = false; 
    } 
} 

Но это также влияет на следующий код, который я не мог исправить:

percentTime = 100 * (newCurrentTime/API.totalTime); 
    elem.css("width", percentTime + "%"); 

Можете ли вы рассмотреть этот вопрос.

Благодаря & уважения

+0

Звучит как часовой пояс. В каком часовом поясе вы находитесь? Я предполагаю либо GMT -5 (Восточная Америка), либо GMT +5 (Западная Азия). –

+0

Это правильно. Его GMT +5. – Anjum

+0

Итак, как мне его исправить? – Anjum

ответ

0

Да, это выглядит больше за отсутствие функции в AngularJS фильтра, чем проблема в Videogular. Мы используем фильтр даты AngularJS, который, как вы можете видеть в документах AngularJS, поддерживает только часовой пояс браузера или UTC.

https://docs.angularjs.org/api/ng/filter/date

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

Как выглядит хорошая функция для Videogular, я попытаюсь взглянуть на код AngularJS и добавить полную поддержку часового пояса.

+1

BTW, возможно, это то, что вы ищете http://stackoverflow.com/questions/20196113/angularjs-how-do-you-convert-milliseconds-to-xhours-and-ymins – elecash

+0

Спасибо @elecash. Я посмотрю на это. Однако другой насущный вопрос заключается в том, что ваш Videogular будет работать на Android (старых и новых) версиях. Какие-нибудь советы в этом отношении? – Anjum

+0

Да, он должен работать на устройствах Android, но я обычно тестирую на Android 4.3, поэтому я не знаю, будет ли он работать на устаревших телефонах Android с установленными ОС 2.X или 3.X. – elecash