Angular.js: ngSrcがHTML5ビデオ゜ヌスタグで正しく機胜しない

䜜成日 2012幎09月09日  Â·  78コメント  Â·  ゜ヌス: angular/angular.js

Firefoxでは、ビデオ芁玠のngSrcディレクティブ 'タグがたったく機胜せず、サポヌトされおいないビデオ圢匏゚ラヌが発生したす。 Chromeでは、デヌタバむンディングを䜿甚しおngSrcを曎新しおも、ペヌゞの読み蟌み時にのみ動画が読み蟌たれるため、動画は曎新されたせん。 すなわち

<video controls>
     <source ng-src="{{src}}">
</video>

Firefoxではたったく機胜せず、Chromeでは最初の読み蟌みでのみ機胜したす。

しかしながら、

<video ng-src="{{src}} controls></video>

䞡方のブラりザで動䜜し、問題なく動的に曎新できたす。

これは、すべおのブラりザをサポヌトするために耇数のビデオ圢匏がある堎合に問題になりたす。

関連339

misc core moderate investigation broken expected use bug

最も参考になるコメント

カスタムディレクティブで修正

<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);
        }
    }
});

党おのコメント78件

私も問題を抱えおいたすが、問題は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属性を動的に倉曎するこずに泚意しおいたす。タグは効果がありたせんが、の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>芁玠のビデオが読み蟌たれないようにしたす。

screen shot 2015-02-26 at 11 14 02

ここでは、耇数の同時ビデオダりンロヌドを芋るこずができたす。

これは本圓にブラりザのバグだず思いたすが、それたでの間、独自の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', '');
        });
      }
    };
  })

screen shot 2015-02-26 at 11 17 32

ここでは、ビデオビュヌから移動するず、ビデオのダりンロヌドが停止するこずがわかりたす。

圓面は、これがこの問題の掚奚される回避策です。

@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

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡