Firefoxã§ã¯ããããªèŠçŽ ã®ngSrcãã£ã¬ã¯ãã£ã '
<video controls>
<source ng-src="{{src}}">
</video>
Firefoxã§ã¯ãŸã£ããæ©èœãããChromeã§ã¯æåã®èªã¿èŸŒã¿ã§ã®ã¿æ©èœããŸãã
ããããªããã
<video ng-src="{{src}} controls></video>
äž¡æ¹ã®ãã©ãŠã¶ã§åäœããåé¡ãªãåçã«æŽæ°ã§ããŸãã
ããã¯ããã¹ãŠã®ãã©ãŠã¶ããµããŒãããããã«è€æ°ã®ãããªåœ¢åŒãããå Žåã«åé¡ã«ãªããŸãã
é¢é£ïŒïŒ339
ç§ãåé¡ãæ±ããŠããŸãããåé¡ã¯Angularsng-repeatã«ãããšæããŠããŸãã
ãã®ã¹ã³ãŒããããããªãåé€ãããšãæ£åžžã«åçãããŸããããããªããšãã©ã®ã³ã³ãããŒã«ãèªã¿èŸŒãŸããŸããã
ç§ãã
ç§ãïŒ ç§ãå©ããŠ
+1
ng-repeatã䜿çšããŠng-srcãœãŒã¹ãèšå®ããŠããŸãããããŒãžã®èªã¿èŸŒã¿æã«æ£ããèªã¿èŸŒãŸããŸãããåç»ãng-showã§é衚瀺ã«ãªã£ãŠããå床衚瀺ãããå ŽåããœãŒã¹ã¯åèªã¿èŸŒã¿ãããŸããïŒChromeã®å ŽåïŒã
sourcec0deã®èŠ³å¯ã確èªã§ããŸã-ng-repeatãåé€ããåäžã®ng-srcãœãŒã¹ïŒãŸãã¯è€æ°ã®ng-srcãœãŒã¹ïŒã䜿çšãããšãå衚瀺æã«ãããªãæ£ãããªããŒããããŸãã
ç§ã¯åãåé¡ãæ±ããŠããŸãã çŸåšèª°ããããã調ã¹ãŠããŸããïŒ
ng-src
æç¡ã«ãããããã ng-repeat
æç¡ã«ããããããChromeã¯ã移åããŠããããŒãžã«æ»ã£ãåŸãHTML5ãããªã®åèªã¿èŸŒã¿ã«ç¹°ãè¿ã倱æããŸãã
ã¯ãªãŒã³ãã£ãã·ã¥ããã2ã€ã®ãªã¯ãšã¹ãïŒæåã®ãªã¯ãšã¹ãã¯Pending
ïŒã2çªç®ã®ãªã¯ãšã¹ãã¯206 Partial Content
ãŸãã æŽæ°ãããšã 304 Not Modified
ãªã¯ãšã¹ãã1ã€è¡šç€ºãããŸãã ãããªãã¥ãŒãã移åããŠïŒãªã³ã¯ãä»ããŠããŸãã¯æ»ããã¿ã³ã䜿çšããŠïŒæ»ããšã Pending
ã¹ããŒã¿ã¹ã®ãããªã«å¯Ÿãã2ã€ã®ãªã¯ãšã¹ãã衚瀺ãããŸãã ãããã®1ã€ã¯mimeã¿ã€ãã®video/mp4
ïŒæ£ããïŒãæã¡ããã1ã€ã¯Pending
ãšã ãèšããŸãã
誰ãããã®åé¡ãèŠãŠããŸããïŒ
ãã®åé¡ã®å®è¡äŸãæäŸã§ããŸããïŒ
äžéšã®ãã©ãŠã¶ã§ã¯ãŸã£ããæ©èœããŸããïŒ
ãã©ãŠã¶ãã¬ã³ããªã³ã°åŸã®HTML5ãããªèŠçŽ ã®src
å±æ§ã®å€æŽããµããŒãããŠãããã©ããã確èªããŸãããïŒ
ç³ãèš³ãããŸãããããµã³ãã«ã¢ããªã¯ãŸã å
¬éãããŠããŸããã
Safariã§æ£åžžã«åäœããŸãã
äžã«ç€ºããããã«ãng-srcãã£ã¬ã¯ãã£ããšããŒãã³ãŒããããsrcå±æ§ã®äž¡æ¹ã䜿çšãããšãããåãçµæãåŸãããŸããã
ã¹ãã¬ãŒãjQueryã§srcãå€æŽãããšã©ããªããŸããïŒ
ããã¯å®éã«ã¯AngularJSã§ã¯ãªããã©ãŠã¶ã®ãã°ãªã®ã ãããïŒ
2013幎7æ16æ¥22ïŒ31ã§ãããŒã«ã»ã°ã«ããš[email protected]ã¯æžããŸããïŒ
ç³ãèš³ãããŸãããããµã³ãã«ã¢ããªã¯ãŸã å ¬éãããŠããŸããã
Safariã§æ£åžžã«åäœããŸãã
äžã«ç€ºããããã«ãng-srcãã£ã¬ã¯ãã£ããšããŒãã³ãŒããããsrcã®äž¡æ¹ã䜿çšããŸãã
åãçµæã®å±æ§ãâ
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGi tHubhttpsïŒ//github.com/angular/angular.js/issues/1352#issuecomment-21075654ã§è¡šç€ºããŠãã ãã
ã
srcãå€æŽããŠããªãå ŽåïŒããšãã°ããããªã®srcå±æ§ãããŒãã³ãŒãã£ã³ã°ããŠããªãå ŽåïŒã§ããåé¡ãçºçããŸãã Angularãã³ã³ãã³ããå¶åŸ¡ãããããAngularããé¢ããŠåé¡ãã·ãã¥ã¬ãŒãããæ¹æ³ããããŸããã ç§ã¯åæããŸããããã¯åã«Chromeã®åé¡ãããããŸããããããããã¹ãããæ¹æ³ãããããŸããã
Angularãã³ã³ãã³ããå¶åŸ¡ãããšã¯ã©ãããæå³ã§ããïŒ
ãã®åé¡ã¯ãAngularã®ã³ã³ãããŒã©ãŒã䜿çšããŠã³ã³ãã³ããå€æŽãããå¥ã®ãã¥ãŒãèªã¿èŸŒãŸãããšãã«çºçããŸãã æ»ããã¿ã³ãŸãã¯åã®ã«ãŒããžã®ãªã³ã¯ã䜿çšãããšãåã®ã³ã³ãã³ãã衚瀺ãããŸããããããªã®èªã¿èŸŒã¿ã«å€±æããŸã-æ¯åã Angularã®åé¡ã§ããå Žåã¯ãããããChromeã®ã¿ã«ãããŸãã ç§ã®æšæž¬ã§ã¯ãChromeã®ç©æ¥µçãªãã£ãã·ã¥ãšAngularã®ãã¥ãŒãå€æŽããæ¹æ³ã¯ãäœãããŒããããã«ã€ããŠåæã§ããŸããã
@AutoSpongeç§ã®ãã¹ãã±ãŒã¹ã¯ïŒ
1ããŒãžã«2ããŒãžã«ç§»åãããã¿ã³ããããŸã
videojsãã¬ãŒã€ãŒãš1ããŒãžã«æ»ãããã®ãã¿ã³ãåãã2ããŒãž
ããŒãž1ã«ç§»åãã次ã«ããŒãž2ã«ç§»åãããšããããªãæ£ããããŒããããŸãã
ãã¿ã³ãã¯ãªãã¯ããŠ1ããŒãžã«æ»ãã次ã«2ããŒãžã«ç§»åããŸããgooglechromeã¯videojsã®äœ¿çšãåæ¢ããŸãã ããã¯ãäºæ³ã©ãããAngularãèŠçŽ ãDOMããåé€ãããšãã«videojsãªããžã§ã¯ããåé€ãããªãã£ãããã«çºçããŸãã ããã¯angularjsã§ã¯ãããŸããïŒã€ã§ãŒã€ïŒïŒ
videojsãã¬ãŒã€ãŒãåæåããåã«åé€ããŠãã ããã ãããè¡ãã®ã¯ããã¬ãŒã€ãŒãè¿œå ãããã£ã¬ã¯ãã£ããããããã§ãã ããšãã°ããã£ã¬ã¯ãã£ãã§äœ¿çšããå ŽåïŒ
... directive('mydir', ... {
var vp;
return {
link: ..{
if (vp) vp.dispose();
vp = videojs("mp4video");
}
};`
OPãšåãããã«ãç§ã¯ã©ãããŒãªããžã§ã¯ãã䜿çšããŠããŸããã ãããªã¯ãHTML5ãããªã¿ã°ãä»ããŠããŒããããŸãã åå¥ã«åé€ããããšãææ¡ããŠããŸããïŒ
ãããšãvideoJSã¯DOMã«è¿œå ããããã¬ãŒã€ãŒã远跡ããŸãããå€æŽãç£èŠããŠããªãããã§ãã èŠçŽ ãDOMããåé€ãããšïŒããšãã°ãå¥ã®ã«ãŒãã«ç§»åããããïŒãvideoJSã¯ãããèªèãããå床åæåããããšã¯ãããŸããã 17è¡ç®ãåç
§ããŠãã ããïŒ https ïŒ
videoJSã®å€éšã§åé€ããå Žåã¯ããã¬ãŒã€ãŒã®disposeïŒïŒã¡ãœãããåŒã³åºãå¿
èŠããããšæããŸãã ããã¯ãjqueryãã©ã°ã€ã³ïŒïŒïŒãã©ãããããšãã®ããã«æ©èœãããšæããŸãã ããããè§åºŠã®åé¡ã§ã¯ãªããšç§ã«æãããçç±ã§ãã
ãã®åé¡ããããŸãã
AVãã¡ã€ã«ãsrcãŸãã¯ng-srcã«ããŒãããŠãæ©èœããŸããã ãããæ©èœããããã«ã¯ããã£ã¬ã¯ãã£ããŸãã¯ãã¡ã¯ããªãäœæããå¿
èŠããããŸãã
http://stackoverflow.com/questions/15485768/changing-html5s-source-src-attribute-takes-no-effect-wtih-angularjs
ç§ããã®åé¡ãæ±ããŠããŸãã
ChromeãFirefoxãSafariã§ãããªãèªã¿èŸŒããŸããã ãã ããIEã§ã¯æ©èœããŸãã
åé¿çã¯æ¬¡ã®ãšããã§ãïŒhttp ïŒ//stackoverflow.com/questions/15728424/html5-video-is-not-working-with-angularjs-ng-src-tag
ããŒãžã®èªã¿èŸŒã¿æã«ä¹±éãªã¡ãã€ããçºçããŸãããæ©èœããŸãã
+1
åé¿çã¯æ¬¡ã®ãšããã§ãã
ç§ã®å Žåãã³ã³ãããŒã©ãŒã»ããã®é¢æ°ã¯æ¬¡ã®ããã«ãªããŸãã
$scope.play = function(who) {
var name = who.id.split('.')[0];
$scope.audio.mp3 = name + '.mp3';
$scope.audio.ogg = name + '.ogg';
$scope.audio.play = 'views/audio.html?'+name;
};
ããããç§ã®å Žåãç§ã®ãã³ãã¬ãŒãã«ã¯æ¬¡ã®ãã®ããããŸããïŒ
<div ng-include src="audio.play"></div>
views /audio.htmlã®ãã³ãã¬ãŒãã¯æ¬¡ã®ããã«ãªããŸãã
<audio ng-model="audio" controls autoplay >
<source ng-src="{{audio.mp3}}" type='audio/mp3'></source>
<source ng-src="{{audio.ogg}}" type='audio/ogg'></source>
</audio>
$ scope.audio.playãå€æŽãããªãå ŽåããªããŒãã¯çºçããªãããããã¡ã€ã«ã®ååã䜿çšããŠããŸãã代ããã«ãããã¯ä¹±æ°ã§ããå¯èœæ§ããããŸãã
@caitpããªãã¯ããã«å¯ŸããPRãæã£ãŠãããšæããŸãããç§ã®èšæ¶ã¯ç§ã倱æãããŠããŸããïŒ
@IgorMinaräœæ¥ããã€ããã§ããããåé¡ãåçŸã§ããªãããšã«æ°ä»ããŸããïŒhttp://jsfiddle.net/J77gE/ãåç §ïŒã ããå€ãã®ãã€ã³ãã£ã³ã°ãªãã·ã§ã³ãåããã³ã¢ã®å€åŽã§ã¯ãªããã¡ãã£ã¢ãã«ããŒã¢ãžã¥ãŒã«ãæ§ç¯ããã®ã¯æ¥œããã ãããšæããŸããã
ããããç§ãç¥ãéããng-srcã¯ææ°ã®ãã©ãŠã¶ãŒãšææ°ã®Angularã®ãœãŒã¹ã¿ã°ã«å¯ŸããŠæ£åžžã«æ©èœããŸã
ç§ãèšåããåé¡ã¯ãç¹ã«ãã¥ãŒã®å€æŽãšæ»ããã¿ã³ã®äœ¿çšã«ãããã®ã§ããã ãã®jsfiddleãã©ã®ããã«åé¡ãåçŸããããšããŠããã®ãããããŸããã
ããã§ã¯ãããŸãããéèŠãªã®ã¯ããœãŒã¹ã¿ã°ã®è£éã«åé¡ããªããšããããšã§ããããã¯åé¡ã§ã¯ãªããšæããŸãã ç§ã¯ããªãã®ç¹å®ã®åé¡ããŸã£ããåçŸããããšãã§ããŸããã§ãã
@AutoSpongeã¯ã
http://jsfiddle.net/AutoSponge/Yh9en/
ãããªãªã³ã¯ãã¯ãªãã¯ããŸãã ååããŒãããŸãã [ããŒã ]ã[ãããª]ã®é ã«ã¯ãªãã¯ããŸãã 1ã2åã®ã¯ãªãã¯ã§ãChromeãžã®èªã¿èŸŒã¿ãåæ¢ããå¯èœæ§ããããŸãã
ïŒãããŠå€æããªãã§ãã ãããç§ã¯8ã¶æåã®ã¢ããªã«åºã¥ããŠãããäžç·ã«æããŸããïŒïŒ
@AutoSpongeããã¯Angularã®åé¡ã§ã¯ãããŸããã ããã¯Chromeã®å¥åŠãªåäœã§ãããããã§ããœãŒã¹ãã¡ã€ã«ãè£éããæ£ããsrcãååŸããŠããŸãã ããã¯ãã£ãã·ã¥ã®åé¡ã®ããã§ãããå°ãæ®å¿µã§ãã ïŒngIfã§ããã®åé¡ãçºçããŸãããããã¯ngShow +é³éã0ã«èšå®ããããšã§åé¿ã§ããŸãïŒ
Chromeã®äžå¹žãªåé¡ã ãšæããŸãã ãããããã®åé¡ã9ãæééãããŸãŸã§ãã»ãšãã©äœæ¥ãè¡ãããªãã£ãäž»ãªçç±ã ãšæããŸãã Chromeã¯ãããä¿®æ£ããå¯èœæ§ãäœãã®ã§ããã£ãã·ã¥ãã¹ãã£ã³ã°ãªãã·ã§ã³ãäœæããã®ã¯äžåçã ãšæããŸããïŒ srcã«ã©ã³ãã ãªæååãè¿œå ããã ãã ãšæããŸãã
ãŸããChromeã§ã®å®è£ ãŸãã¯Angularã§ã®äœ¿çšã®ããããã§ããpushStateãšé¢ä¿ãããã®ã§ã¯ãªãããšæããŸããã ããããæ£çŽãªãšãããä»ã§ã¯ä¿®æ£ãããŠãããšæããŸããã
ãã®ç¹å®ã®åé¡ã¯ããããã¯ãã åé¡è¿œè·¡ã·ã¹ãã ã«å±ããŠããããã«æããŸãïŒHTMLMediaElementãã£ãã·ã¥é¢é£ã®åé¡ããã§ã«ããã€ãéããŠãããšæãã®ã§ãããã§èª¬æãã䟡å€ããããŸãïŒã
æãåºããŸãããããããä»æ§ã§å®çŸ©ãããŠããäºæ³ãããåäœã§ããå¯èœæ§ããããŸãïŒãããŠãä»æ§ãå¥åŠãªââ/äžå¹žãªåäœãèŠæ±ããã®ã¯åããŠã§ã¯ãããŸããïŒ
ããã¯ç§ãæ±ããŠããåé¡ãšã¯å¥ãããããŸããããç§ã¯ã©ãã§åé¡ãæ±ããŠããŸãã
ãããããçšåºŠç解å¯èœã§é¢é£ããŠããããšãé¡ã£ãŠããŸãïŒ
ããã€ãã®åé¿çãèŠã€ããŸããã Chromeã§ã¯æ©èœããŸãããå¥ã®ãã©ãŠã¶ã§ã¯æ©èœããŸããïŒå Žåã«ãã£ãŠã¯ãäœåºŠãïŒ:)
ã®æåŸã®ã³ã¡ã³ã
http://stackoverflow.com/questions/16137381/html5-video-element-request-stay-pending-forever-on-chrome
å¥ã®æ³šæãšããŠãHTML5ä»æ§ã§ã¯ãã®srcå±æ§ãåçã«å€æŽããããšã«æ³šæããŠããŸãã
å°ãã°ãŒã°ã«ããåŸãããã¯ããããå©çšå¯èœãªãœã±ãããè§åºŠãä»ããªãã®ãåŸ ã£ãŠããã¯ãã ã«é¢é£ããŠããããšããããããããªã¿ã°ã«preload = "none"ãè¿œå ãããšåé¡ã解決ããããã§ãã
åé¿ç
ã³ã³ãããŒã©ãŒå
$scope.mp3 = "http://download.jw.org/audio.mp3"
$scope.$watch('mp3', function() {
$("audio").attr("src",$scope.mp3)
});
htmlïŒ
<audio id="mejs" type="audio/mp3" controls="controls"></audio>
@agliottoneææ¡ãããåé¿çã¯æªãç¿æ £ã䜿çšããŠããŸãã ãã®ãããªã³ã³ãããŒã©ãŒããDOMã«æžã蟌ãããšã¯çµ¶å¯Ÿã«ããªãã§ãã ããã ã«ã¹ã¿ã ãã£ã¬ã¯ãã£ãã®äœ¿çšãæ€èšããŠãã ããã
@btford 1ã¯åæããŸããã..
圌ã¯æåŸã®éªæªãªè
ãæ§ããŸãããããªãããã¯ææžã®çµããã§ã
+1
æ°ãããœãŒã¹ãèšå®ããããã³ã«ããã€ãã£ããããªèŠçŽ ã§.load()
ãå床åŒã³åºããŠãæ°ãããããªãœãŒã¹ã衚瀺ããå¿
èŠããããšæããŸãã
ããã«ã¡ã¯ãHTML 5ãããªãåããŠããŒããããšãã«Google Chromeã§angularJSã«åé¡ããããŸãããng-viewã§ãã¥ãŒãå€æŽãããšããŒããããŸããããFirefoxã§ã¯InternetExplorerã§éåžžã«ããŸãæ©èœããŸãã
ç§ã¯ããã«ã€ããŠäœãããªããã°ãªããªãã®ãåãããŸããïŒ
ããã¯ã <embed>
ããã³ngSrc
ãšåæ§ã®åé¡ã®ããã«èŠããŸãã ïŒ339ãåç
§
ããã¯ä¿®æ£ããå¿ èŠããããŸãddddddd :(
ç§ã¯plnkrãæžããŸãã
ãããªãã¯ãªãã¯ãããšããããªãããŒããããŸãã ä»ã®ãªã³ã¯ãã¯ãªãã¯ããŠããããããªã«æ»ããŸãã ãããªã¯ä¿çäžã§ãã Chrome network
ãªã¯ãšã¹ãã確èªã§ããŸãã 2ã€ã®ãªã¯ãšã¹ãã1ã€ã¯åã®ãã®ã§ããŸã ååŸäžã§ãã ãã1ã€ã¯æ°ãããã®ã§ãä¿çäžã§ãã
@kaiqigongå é±ããããªãWebãµã€ãã«å¯ŸããŠããŒã«ã«ã§ã¯ãªãã£ããããURLããããªã®ä¿¡é Œã§ãããã®ãšããŠèšå®ããããšã§æ©èœããŸããã
http://plnkr.co/edit/CL0Lh6VGMy0M3mR1SvVA?p=preview
ç§ã¯ããªãã®plnkrããã©ãŒã¯ããURLãèšå®ããŠä¿¡é Œããããã«å€æŽããŸããïŒ
.controller('VideoController', function($scope, $sce, $routeParams){
$scope.name = "VideoController";
$scope.params = {
videoUrl: $sce.trustAsResourceUrl("http://www.videogular.com/assets/videos/videogular.mp4")
};
})
ãããªã«é ãããããŸãããããã¯ç§ã®ããã«åããŠããŸãã
@ phillip-haydonè¿ä¿¡ããããšãããããŸãã
ç§ã¯ããªãã®plnkrãè©ŠããŸããããããã§ãæ£ããæ©èœããŠããŸããã ïŒãªã³ã¯ããã°ããåãæ¿ããŠã¿ãŠãã ãããïŒ
ç§ãèŠã€ããã®ã¯ãïŒã«ãŒãããã®ä»ã®DOMæäœãå€æŽããŠïŒãããªã¿ã°ãåé€ããŠãããã©ãŠã¶ãŒã¯ãŸã ãããªãœãŒã¹ããã«ããŠãããšããããšã§ãã ãããªã«æ»ããšãã ãããã¯ãŒã¯ãã©ãã£ãã¯ã劚害ããå¥ã®ãããªèŠæ±ãè¡ãããŸãã
ãããªã¿ã°ãåé€ããåã«ãããªã®src
ã''
ã«èšå®ãããšããã©ãŠã¶ããã«ãåæ¢ããåé¡ã解決ããŸãã ãã®codepenãè©ŠããŠãã ããïŒ http ïŒ//codepen.io/cagegong/pen/bJHAz
ã ããç§ã®æçµçãªè§£æ±ºçïŒ
$scope.$on '$destroy', () ->
angular.element('video').attr 'src', ''
ãããç§ã®ãã®ã¯100ïŒ ã§ã¯ãªãæ©èœããŸãããªããèŠæ±ããŠããdomèŠçŽ ãç Žæ£ããããšãã«ããã©ãŠã¶ãŒãèŠæ±èªäœã匷å¶çµäºããªãã®ããç§ã«ã¯ããããŸããã ããã¯AngularèªäœãåŠçããå¿ èŠããããã®ã§ã¯ãªããšæããŸãã
空ã®æååã«èšå®ãããšãªã¯ãšã¹ãã匷å¶çµäºãããã®ã¯èå³æ·±ãããšã§ãããããžã§ã¯ãã«è¿œå ããããã«äœããèšå®ããå¿ èŠããããããããŸããã ããããšãã
@jharaujoads
ãããããªãã®åé¡ã解決ããããšãé¡ã£
ïŒ+1ïŒ
ãããŒã2幎ãšäœãã è§åºŠã¯ãŸã£ããç¶æãããŠããŸããïŒ
Angularã¯æéãšåŽåã®äŸ¡å€ããããŸããã 圌ãã¯ãã§ã«Angular2.0ã§ã³ãã¥ããã£ã«ãããªãããã¡ãã¯ããšèšã£ãŠããŸããã
@IDontEatSoapãªããã®è³ªåãããã®ãã³ããããšãªãªãŒã¹ã®ãªã¹ãã確èªããŠãã ããã æ¯é±æ°ãããªãªãŒã¹ããããé±æ«ãå«ããŠ_æ¥_ã®ã³ããããå°ãªãããšãèãããšãç§ã«ã¯ã»ãšãã©ç¶æãããŠããããã«èŠããŸã...
@ phillip-haydonäŒè©±ã®å°é家ãç¶æããæè¡çãªåé¡ã«éäžããŠãã ãããããªãã¯ç§ãã¡ã®è¡åèŠç¯ã«éåããŠã
@IDontEatSoap @ phillip-haydonãã®åé¡ã«å¯ŸåŠããããšã«æ¬åœã«èå³ãããå Žåãåé²ããããã®æè¯ã®æ¹æ³ã¯ããã¹ãŠã®ãã©ãŠã¶ãŒã§å°æ¥æ©èœããããã«ã³ãŒããå€æŽãããã«ãªã¯ãšã¹ããéä¿¡ããããšã§ãã
ããã§ããåçŽãªãããªsrcã¿ã°ã¯ãµããŒããããŠããŸãããïŒ
$ sdeãå ¬éããsrc = "{{$ sce.trustAsResourceUrlïŒitem.VideoUrlïŒ}}"ã䜿çšããããšã§ããªããšãæ©èœãããããšãã§ããŸããã
誀解ããªãã§ãã ãããç§ã¯æ¬åœã«è§åºŠã奜ãã§ãã ãã ããvideo srcã¿ã°ãSVGã¿ã°ãªã©ã®å°ããªãã®ã¯ãµããŒããããŠããããåé¿çãå¿ èŠã«ãªãããšã¯äºæ³å€ã§ãã
è¯ãä»äºãç¶ããŠãã ããïŒïŒïŒ+ 1ïŒ
+1ãåçããŒã¿ãå«ãã©ã€ãã¹ããªãŒã ãŠã§ãã«ã¡ã©ãè¿œå ããããšã¯äžå¯èœã§ãã
@ pkozlowski-ãªãŒãã³ãœãŒã¹ããªããV2ã®ã³ãã¥ããã£ãæšãŠãã®ã§ãAngularãæ°ã«ããªãã®ã§ãç§ã¯ããèå³ããããŸããã ããã«åªåãç¡é§ã«ããããšã«ã¯0ãã€ã³ãããããŸãã
@ phillip-haydonãã®æ å ±ãããããšãã node.jsã§äœ¿çšããããã³ããšã³ããã¬ãŒã ã¯ãŒã¯ã調ã¹ãŠããŸããã ç§ã¯ãããŸã§V2ã®åé¡ã«ã€ããŠèããããšããããŸããã§ããã ç§ãšç§ã®ããŒã ã¯ãV1ãšV2ã®éã®äºææ§ãã©ã®ããã«å£ããŠããããçç±ã«ãReact.jsã䜿çšããããšã«ããŸããã Pythonã³ãã¥ããã£ã§ãã®çš®ã®èãæ¹ãåŒãèµ·ããã倧ããªäºè£ã¯ããã¹ãŠã®äººã«æèšãäžãããšæããŸãã
ïŒãã£ããïŒ
ãã£ãªããã»ãã€ãã³ãš@StevenDStanton @ -ç§ã¯ããªããä»ã®ãã¬ãŒã ã¯ãŒã¯ã«è¡ãããšãéžæããããšãèããŠç³ãèš³ãããŸãããããã¡ãããããªãèªèº«ã®éçºã®ããã®ãã®ä»äºã¯æé«ã®ããŒã«ãéžæããå¿ èŠããããŸãã
ãã ããæ確ã«ããããã«ãAngularJSã¯ã³ãã¥ããã£ãæšãŠãŠããŸãããå®éãã³ãã¥ããã£ã¯ãé²è¡äžã®Angular1.xã®éçºã«ãããŸã§ä»¥äžã«é¢äžããŠããŸãã AngularJS 1.4.0ã®ãªãªãŒã¹ãéè¿ã«è¿«ã£ãŠããŸããããã¯ããããŸã§ã®å€§ããªããŒãžã§ã³å€æŽéã®æçæéã§ããããããŸã§ä»¥äžã«å€ãã®ã³ãã¥ããã£ã¡ã³ããŒãã³ã¢ããŒã ã§äœæ¥ããŠããŸãã ãã®ããŒãžã§ã³ããªãªãŒã¹ãããããAngularJS 1.5ã«åããéçºãéå§ããŸããããã¯ã2015幎æ«ãŸã§ã«ãªãªãŒã¹ãããã¯ãã§ãïŒãã¹ãŠåãã§ãïŒãGoogleèªäœãæåéãäœçŸãã®æ¬çªç°å¢ã§AngularJS1.xã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠããããšãå¿ããªãã§ãã ããããã£ãä»ã ãããã®ã¢ããªã±ãŒã·ã§ã³ããã¢ããªã±ãŒã·ã§ã³ãšãŸã£ããåãããã«ãåç¶æéãŸãã¯ç§»è¡ãã¹ãæã¡ç¶ããããšãä¿èšŒããããšã¯ãGoogleã®å©çã«ãªããŸãã
Angular 2ã«é¢ããŠ-ãã®éçºåªåã¯ãã³ãã¥ããã£ããã®ãã£ãŒãããã¯ã«ãã£ãŠæ£ç¢ºã«æšé²ãããŠããŸãã ç®çã¯ããã倧ãããããè€éãªã¢ããªã±ãŒã·ã§ã³ããµããŒãã§ãããããéããããå°ãããããå ç¢ãªãã¬ãŒã ã¯ãŒã¯ãæäŸããããšã§ãã ã¢ãã€ã«ããã€ã¹ã§ã®ããã©ãŒãã³ã¹ãåäžãããããã ãããŠãWebã³ã³ããŒãã³ãã®ééçãªãµããŒãã«ãããWebãã©ãŠã¶ã®é²åãåŒãç¶ãåãå ¥ããŸãã
ãããå®çŸããããã«ãã€ã³ãžã§ã¯ã¿ãŒãã³ã³ãã€ã©ãŒã®åäœãªã©ãããã€ãã®åºæ¬çãªæ§æèŠçŽ ãåèããå¿ èŠããã£ããããAngularJS1.xã«ç©äºããã«ãã§åºå®ãç¶ããããšã¯ã§ããŸããã§ããã ãã®çµæãAngularJSããããŸã§ãšåãããã人æ°ãããä¿¡é Œæ§ã®é«ããã®ã«ããã®ãšåãé«ã¬ãã«ã®ç®æšãæšé²ãç¶ããã ãã§ãªããä»åŸäœå¹Žã«ãããã£ãŠå°æ¥ã®èšŒæ ãšãªããã¹ãæäŸã§ããããŸã£ããæ°ãããã¬ãŒã ã¯ãŒã¯ãçãŸããŸããã
AngularJS1.xããAngular2ã«ç§»è¡ããããã®ã¿ãŒã³ããŒã¢ããã°ã¬ãŒããœãªã¥ãŒã·ã§ã³ããªãå ŽåããããŸããããã¯äºå®ã§ãã ãã ããAngularJS1.xããå®å šã«ç°ãªããã¬ãŒã ã¯ãŒã¯ã«ç§»è¡ãããããAngularJS1.xããAngular2ã«ç§»è¡ããæ¹ã確ãã«ç°¡åã§ãã
ãã©ãŠã¶ã¯ã <source>
èŠçŽ ã®src
å±æ§ã®å€æŽãç£èŠããã®ãèŠæãªããã§ãã ãªãªãžãã«ãã¹ã¿ãŒã®åé¡ã¯ã ng-if
ã䜿çšããŠåé¿ã§ããŸãã
http://plnkr.co/edit/rpiEg1ki7KXgD40zy8qVãåç §ããŠãã ãã
ç§ã¯ãã 䜿ã£ãŠããŸã
$timeout(function () {
$("video source").attr("src", 'https:' + file.url);
$("video").attr("src", 'https:' + file.url);
}, 500);
@ tot-ra-ãã©ãŠã¶ã¯<video>
èŠçŽ ã®src
å±æ§ãžã®å€æŽãç£èŠããŠãããããããŒãžã§ã³ã¯æ©èœãããšæããŸããhttp ïŒ
HTML5ä»æ§ããïŒ http ïŒ
èŠçŽ ããã§ã«ãããªãŸãã¯ãªãŒãã£ãªèŠçŽ ã«æ¿å ¥ãããŠããå Žåã«ããœãŒã¹èŠçŽ ãšãã®å±æ§ãåçã«å€æŽããŠãå¹æã¯ãããŸããã åçäžã®ãã®ãå€æŽããã«ã¯ãã¡ãã£ã¢èŠçŽ ã®srcå±æ§ãçŽæ¥äœ¿çšããcanPlayTypeïŒïŒã¡ãœããã䜿çšããŠå©çšå¯èœãªãªãœãŒã¹ã®äžããéžæããããšãã§ããŸãã äžè¬ã«ãããã¥ã¡ã³ãã解æãããåŸã«ãœãŒã¹èŠçŽ ãæåã§æäœããããšã¯ãäžå¿ èŠã«è€éãªã¢ãããŒãã§ãã
ãããæå³ããã®ã¯ããã©ãŠã¶ããœãŒã¹èŠçŽ ãåçã«å€æŽããAngularJSïŒãŸãã¯ãã®ä»ã®ããšïŒã«å¯ŸåŠããããšãæåŸ
ã§ããªããšããããšã§ãã 代ããã«ãå¿
èŠãªã®ã¯ãå¿
èŠã«å¿ããŠ<video>
ã¿ã°ã®src
ããããã£ã®æŽæ°ãåŠçããã¡ãã£ã¢åºæã®ãã£ã¬ã¯ãã£ãã§ãã ããããã @ caitpã®ng-mediaã©ã€ãã©ãªã«æ²¿ã£ãäœãã§ãã
ãã£ã³ã»ã«ãããŠããªããããªã®ããã®èŠæ±ãšåé¡ã«ã€ããŠãç§ãã¡ã¯äžã®ã¢ã€ãã¢ã@kaiqigongãããªäœãå®è£
ã§ããããšã瀺åããŠããhttps://github.com/angular/angular.js/issues/1352#issuecomment -58865425ãã ãããããèŠçŽ ãç Žæ£ãããŠãããšãã«src
ã""
ã«èšå®ããvideo
èŠçŽ ãã£ã¬ã¯ãã£ããè¿œå ã§ããŸããïŒ
è©Šãããšãã§ããä»ã®æœåšçãªã©ã€ãã©ãªïŒ
ç»é²ã解é€ããŸãã Reactã®ããã«AngularJSãé¢ããŸãã ç³ãèš³ãããŸããããããªãã®ããŒãã¯ãŒã¯ã«æè¬ããŸãã
ãããããèãã§ããç§ã賌èªã解é€ããŠããŸãã http://aurelia.io/çšã«AngularJSãæšãŠãŸãã
ã§ã¯ãç®åã®æè¡çãªåé¡ã«æ»ããŸãããã
ãã®åé¡ã§è°è«ãããŠããå®éã«ã¯2ã€ã®åé¡ããããŸãã
<video>
èŠçŽ ã¯ã <source>
ã¿ã°ã®src
å±æ§ãžã®å€æŽãç£èŠãåå¿ãããŸããã ããã¯HTML5ä»æ§ã®äžéšã§ãããããè¿ãå°æ¥å€æŽãããå¯èœæ§ã¯ã»ãšãã©ãããŸããã ããã¯ã ngSrc
æç¡ã«ãããããã <source>
èŠçŽ ãåçã«æå®ããæ
£çšçãªAngularJSã®æ¹æ³ã䜿çšã§ããªãããšãæå³ããŸãã ã€ãŸãã <video>
èŠçŽ ã¯å€æŽãååŸããªãããã <source>
ã¿ã°ã®src
å±æ§ã§è£éã䜿çšããããšã¯ã§ããŸããã<video>
èŠçŽ ããããªãæ£ããããŠã³ããŒãããèŠæ±ããã£ã³ã»ã«ãããèŠçŽ ãDOMããåé€ãããŸãã ããã®å¹æã¯ãã¢ããªã±ãŒã·ã§ã³ãDOMãååã«è¿
éã«å€æŽãã <video>
ã¿ã°ãè¿œå ããã³åé€ããŠããããªãããŠã³ããŒãããæéããªãå Žåãæ°ãã<video>
ç¶æ³ã§ç«ã¡åŸçããå¯èœæ§ãããããšã§ãã <video>
èŠçŽ ãããŸã ä¿çäžã®ãããªã«ã¢ã¯ã»ã¹ããããšããŠããŸãã èŠçŽ ãç Žæ£ãããåã«src
ïŒãŸãã¯currentSrc
ïŒïŒå±æ§ã空ã®æååïŒ ""
ïŒã«èšå®ãããŠããå Žåããã©ãŠã¶ã¯å®éã«ãããªãªã¯ãšã¹ãããã£ã³ã»ã«ããããã§ãããããã®åé¡ã¯ã©ã¡ãããAngularJSèªäœã®ãã°ã§ã¯ãããŸããã ããããããã¯ç§ãã¡ãããã«ã€ããŠäœããããããšãã§ããªããšããæå³ã§ã¯ãããŸããã
æåã®åé¡ã«ã€ããŠïŒ
AngularãŸãã¯ãã®ä»ã®ãã¬ãŒã ã¯ãŒã¯ã§ãããä¿®æ£ããå¯äžã®æ¹æ³ã¯ãHTML5ä»æ§ã§èª¬æãããŠããããã«ãåçã«å€åãããœãŒã¹ãåŠçããJavaScriptãäœæããããšã§ãã ä»ã®äž»èŠãªãã¬ãŒã ã¯ãŒã¯ã§ã¯ããã«å¯Ÿãã解決çãèŠãããšããããŸããããAngularJSã§æãé
åçãªæ¹æ³ã¯ãäžé£ã®ãã£ã¬ã¯ãã£ããäœæããããšã§ãã ããã¯äºå®äžã次ã®ãããžã§ã¯ãã®äººã
ãããããšããããšã§ãã
ã³ãã¥ããã£ã®é¢å¿ã«å¿ããŠãAngular 1.5çšã«ããã«äŒŒããã®ãéçºãããããç¬èªã®ã¢ãžã¥ãŒã«ãšããŠããã±ãŒãžåããããšãæ€èšã§ããŸãïŒ ngCookies
ããã±ãŒãžåæ¹æ³ãšåæ§ïŒã 1.5ã®èšç»ãç«ãŠããšãã«ããããããäžåºŠèŠãŠã¿ãŸãããã ãããŸã§ã®éãæåã®è§£æ±ºçã¯ãäžèšã®ã©ã€ãã©ãªã®1ã€ãå®è£
ããã©ã€ãã©ãªãæ©èœããããã«æ¯æŽããããšã§ãã
2çªç®ã®åé¡ã«ã€ããŠïŒ
çŸæç¹ã§ã¯ããããå人çã«åçŸããããšã¯ã§ããªãããã§ãã ç§ã®Chromeã§ã¯ãèŠçŽ ãç Žæ£ããåŸã§ãã以åã®<video>
èŠçŽ ã®åç»ãã¹ããªãŒãã³ã°ãç¶ããŸããããã«ãããäœåºŠãåãæ¿ããåŸãå€æ°ã®ãªã¯ãšã¹ãã䞊è¡ããŠå®è¡ãããŸããããããã®ãªã¯ãšã¹ãã¯ããã§ã¯ãªãããã§ããæ°ãã<video>
èŠçŽ ã®ãããªãèªã¿èŸŒãŸããªãããã«ããŸãã
ããã§ã¯ãè€æ°ã®åæãããªããŠã³ããŒããèŠãããšãã§ããŸãã
ããã¯æ¬åœã«ãã©ãŠã¶ã®ãã°ã ãšæããŸããããããŸã§ã®éãç¬èªã®video
ãã£ã¬ã¯ãã£ããæäŸããããšã§ãããåé¿ã§ããŸãïŒhttp://plnkr.co/edit/QLMJd24rxvklr638e57Q?p=previewãåç
§ïŒ ïŒ
.directive('video', function() {
return {
restrict: 'E',
link: function(scope, element) {
scope.$on('$destroy', function() {
element.prop('src', '');
});
}
};
})
ããã§ã¯ããããªãã¥ãŒãã移åãããšããããªã®ããŠã³ããŒããåæ¢ããããšãããããŸãã
åœé¢ã¯ãããããã®åé¡ã®æšå¥šãããåé¿çã§ãã
@petebacondarwin ... w3cä»æ§ãèŠããšããŠãŒã¶ãŒãšãŒãžã§ã³ããããã¥ã¡ã³ããäžæ¢ãããšãã¹ããªãŒã ã®èªã¿èŸŒã¿ãäžæ¢ãããããã§ãã window.stop()
åŒã³åºããšããã以äžã®ãããã¯ãŒã¯ã¹ããªãŒãã³ã°ããã£ã³ã»ã«ãããŸããã
æçµçã«ãä»ã®ãªãœãŒã¹ãå¿ èŠãªå Žåãããã¯æãçæ³çãªããšã§ã¯ãããŸããããããçšåºŠã®åé¿çãæäŸããŸãã
@daleyjemãã®ã¢ã€ãã¢ã«æè¬ããŸãã
ä»ã®åç»ã®ã¹ããªãŒãã³ã°ãåæ¢ãããããã³ã¢ãã£ã¬ã¯ãã£ãã§ãããè¡ãããšã¯ã§ããŸããã
ãã£ã«ã¿ãäœæããã ãã§ãã
app.filterïŒ "trustUrl"ã['$ sce'ãfunctionïŒ$ sceïŒ{
æ»ãé¢æ°ïŒrecordingUrlïŒ{
$ sce.trustAsResourceUrlïŒrecordingUrlïŒ;ãè¿ããŸãã
};
}]ïŒ;
ãã¥ãŒãã¡ã€ã«ïŒ
<audio src = "{{Your_URL | trustUrl}}"ãªãŒãã£ãªãã¬ãŒã€ãŒã³ã³ãããŒã«>ãªãŒãã£ãª>
泚ïŒãªãŒãã£ãªã¿ã°ã®ã¹ããŒã¹ã«æ³šæããŠãã ãã
ããã«ã¡ã¯ãç§ã¯Videogularã®äœæè ã§ãã
@petebacondarwinã説æããããã«ãããã¯AngularJSã®åé¡ã§ã¯ãããŸããããã»ãšãã©ã®å ŽåãHTML5ã§ã®ãããªã®åäœãšãã©ãŠã¶ãŒããããªèŠæ±ãåŠçããæ¹æ³ã®åé¡ã§ãã ãŸããã¢ãã€ã«ããã€ã¹ã§åäœãããå¿ èŠãããå Žåã¯ãããã«å¥åŠã«ãªããŸãã
ç§ã¯Videogularã䜿çšããŠãããªãšHTML5ã§å€ãã®æŠããããŸãããããã¹ãŠã®ãã©ãŠã¶ãŒã§ã·ãŒã ã¬ã¹ã«æ©èœãããã®ã¯é£ãããšèšããããåŸãŸããããäžå¯èœã§ã¯ãããŸããã
ãããã£ãŠãAngularJSããŒã ã®èª°ããããã«ã€ããŠå©ããæ±ããŠããå Žåã¯ãããã«é¢ããç§ã®è¬èãªç¥èãå ±æããä¿®æ£ã«è²¢ç®ã§ããã°å¹žãã§ãã ããã¯æ¬åœã«ç§ãæ©ãŸãããã®ã§ãããAngular 2ã§ã¯ããã«åé¡ã¯ãªãã®ã§ãäž¡æ¹ã®ãã¬ãŒã ã¯ãŒã¯ã§åæ§ã®ã¢ãããŒãããšãããšã¯çŽ æŽãããããšã§ãã
+1
ãããªãã¬ãŒã€ãŒã«ãã£ã¬ã¯ãã£ããããå Žåã¯ãsrcurlå€æ°ãç£èŠããŠæåã§æŽæ°ã§ããŸãã
link: function (scope, element, attrs) {
var video = element.find('video')[0];
scope.$watch('source.url', function (val) {
video.src = val;
});
}
è©Šè¡é¯èª€ã®æ«ãã€ãã«Android 4.2.2ã4.3ã4.4.4ã5.0.0ã5.1.0ã§ç¢ºå®ã«ãããªãåçã§ããããã«ãªããŸããã Crosswalkãã€ã³ã¹ããŒã«ãã Videogularã䜿çšã
ã«ã¹ã¿ã ãã£ã¬ã¯ãã£ãã§ä¿®æ£
<source ng-repeat="source in sources" vsrc="{{ source.path }}" type="{{ source.type }}" html5vfix>
//Html5 video fix
eshop.directive('html5vfix', function() {
return {
restrict: 'A',
link: function(scope, element, attr) {
attr.$set('src', attr.vsrc);
}
}
});
Ä°jsonã䜿çšããŠdbå ã®URLãããªã解æããŸãããæ©èœããŸããïŒïŒïŒå©ããŠãã ãã
åçãã¿ã³ãã¯ãªãã¯ãããšããããªãäžäžéã«è¡šç€ºããããã«ã¹ã¯ãªãŒã³ãæŒããšããã®äœçœ®ã«å°éããŸãããã®åé¡ã«å¯Ÿããææ¡ããããŸãã
+1 srcãŸãã¯ngSrcã䜿çšããŠããURLã解æããããšã¯ã§ããŸããã
ãã®ãšã©ãŒã¯æŸæ£ãããŸãããïŒ
ç§ã¯ãããšåãåé¡ãæ±ããŠããŸããŸã
ãã®ãœãªã¥ãŒã·ã§ã³ã¯éåžžã«ããŸãæ©èœããŸãã
http://www.rubencanton.com/blog/2014/07/adding-video-src-with-angular.html
æãåèã«ãªãã³ã¡ã³ã
ã«ã¹ã¿ã ãã£ã¬ã¯ãã£ãã§ä¿®æ£