そこで、Wistia プレーヤー API を使用して Ionic / AngularJS アプリを構築しています。私は最後に試してみましたが、ブラウザのテストモードですべてが正しく動作します。しかし、iOSにコンパイルすると、白い画面が表示されます。詳細は次のとおりです。
表示 - HTML ページ:
<!-- Wistia Embed -->
<div id="{{ 'wistia_' + mediaHashId }}" class="wistia_embed" style="width:398px;height:224px;" ng-if="mediaHashId"></div>
コントローラ:
$timeout(function() {
var wistiaEmbed = Wistia.embed($scope.mediaHashId, {
videoFoam: true,
playerColor: "3B97D3"
});
wistiaEmbed.bind("end", function () {
alert ("Video is finished");
});
}, 100);
したがって、Chromeに完全にロードされます。しかし、それをxcodeにコンパイルして電話で実行すると。白い画面が表示されるだけです(JSエラーはありません!)
2 番目のオプション: iframe - iframe は iO で正常にロードされるため ( http://wistia.com/doc/player-api#using_iframes_and_the_player_api )。2 番目のオプションは、wistiaApi を iframe にアタッチすることです。しかし、コードは機能しません。
表示 - HTML ページ:
<div class="video-container">
<iframe id="wistia_player" ng-src="{{ mediaHashId | wistiaEmbedUrl }}" allowtransparency="true" frameborder="0" scrolling="no" class="wistia_embed" name="wistia_embed" width="640" height="360"></iframe>
</div>
コントローラ:
$timeout(function() {
var wistiaEmbed = document.getElementById("wistia_player").wistiaApi;
console.log (wistiaEmbed);
wistiaEmbed.bind("end", function () {
alert ("Video is finished");
});
}, 100);
wistiaEmbed コンソールが undefined をログに記録します。そしてエラーログ:
TypeError: Cannot read property 'bind' of undefined
at lesson-detail-ctrl.js:46
at ionic.bundle.js:24922
at completeOutstandingRequest (ionic.bundle.js:13604)
at ionic.bundle.js:13984
明らかに.wistiaApiは機能しません...
これをindex.htmlに含めます:
このhttps://github.com/brandly/angular-youtube-embed with Wistia Playerのような AngularJS ライブラリが大好き です...しかし、運はありません...