我正在开发一个在Node webkit中实现的桌面应用程序。我已经在其中集成了Vimeo视频播放器(使用Froogaloop)。直到上个月,它工作正常,但从那时起,它几乎每次都崩溃。
我检查了我的应用程序的早期版本,它早些时候运行良好,但它也开始崩溃。
我从他们的API测试了基本的Vimeo Player代码。其如下:
.JS:
$(function () {
var iframe = $('#player1')[0];
var player = $f(iframe);
var status = $('.status');
// When the player is ready, add listeners for pause, finish, and playProgress
player.addEvent('ready', function () {
status.text('ready');
player.addEvent('pause', onPause);
player.addEvent('finish', onFinish);
player.addEvent('playProgress', onPlayProgress);
});
// Call the API when a button is pressed
$('button').bind('click', function () {
player.api($(this).text().toLowerCase());
});
function onPause() {
status.text('paused');
}
function onFinish() {
status.text('finished');
}
function onPlayProgress(data) {
status.text(data.seconds + 's played');
}
});
.HTML:
<script src="https://f.vimeocdn.com/js/froogaloop2.min.js"></script>
<iframe id="player1" src="https://player.vimeo.com/video/76979871?api=1&player_id=player1" width="630" height="354" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
<div>
<button>Play</button>
<button>Pause</button>
<p>Status: <span class="status">…</span></p>
</div>
但即使这样在通过 Node-webkit 运行时也会崩溃。有趣的是,上面的代码在通过Apache(WAMP)托管的网页上工作正常。似乎从Vimeo前端发生了一些变化,Node webkit无法处理。
谁能帮忙?我在Vimeo论坛上添加了相同的问题。
谢谢。
我以前遇到过这个问题。基本上NW.js几乎不支持开箱即用的编解码器,这是由于编解码器的许可问题。Vimeo(很可能)使用mp4进行视频播放,这是最受欢迎的,但也不受支持。
看看使用视频和音频标签使用MP3和MP4(H.264)。 在NW.js维基上。它解释了如何获取chrome的编解码器DLL并将其提供给NW.js
考虑两件事:
- 这将使您的项目大小增加一两兆字节。
- 在您的项目中包括这些编解码器可能需要也可能不需要您处理一些许可内容。