关于如何将音频元素绑定到 ng 模型的任何想法?
我想用音频元素的播放值更新 div?
<audio ng-model="myAudio">...</audio>
<div>{{myAudio.timeElapsed}}</div>
或类似的东西。知道怎么做吗?
关于如何将音频元素绑定到 ng 模型的任何想法?
我想用音频元素的播放值更新 div?
<audio ng-model="myAudio">...</audio>
<div>{{myAudio.timeElapsed}}</div>
或类似的东西。知道怎么做吗?
您可以通过为您的应用创建自定义指令来做到这一点。该指令将函数绑定到音频元素的 timeupdate 事件。绑定函数更新当前范围的 timeElapsed 属性并调用 $apply 将更改传播到视图。您可以在以下位置查看示例:
<body ng-app="audio" ng-controller="TestAudioCtrl">
<audio controls my-audio>
<source src="**YOUR SOURCE FILE**"></source>
</audio>
<div>Elapsed: {{timeElapsed}}</div>
</body>
angular.module("audio", [])
.directive("myAudio", function(){
return function(scope, element, attrs){
element.bind("timeupdate", function(){
scope.timeElapsed = element[0].currentTime;
scope.$apply();
});
}
});
TestAudioCtrl = function($scope){
$scope.timeElapsed = 0;
}
我强烈建议使用 HTML5 音频 API 来打造具有真正灵活性的强大播放器。我从头开始开发我的:
https://gist.github.com/djvs/24006c975ff11fd889e3
根据我的经验,HTML5 音频的标准浏览器控件通常很糟糕,并且当您尝试将它们绑定到诸如 ng-model 或源插值之类的东西时也经常中断......