播放器效果非常好 但是能提供.d.ts吗? 感谢 :)
AegeanRagdolls opened this issue · 11 comments
我使用typescript 开发的 不知道 能否提供一下定义文件? 如果可以 真的是太感谢了 ~ 另外 我想直接把播放器 直接 在 pixi中进行渲染 是不是 我手动调用 动画帧 并且 修改 runder 中的代码就可以了呢?~ 还有就是 发现 华为较老的机型的默认浏览器 好像无法使用.
手动调用动画帧是什么意思,老机型用不了很正常,毕竟用了WebAssembly
我看源码中是在decoder/index.js 中调用的animationFrame 我想使用pixi渲染它, 我是不是需要在pixi的animationFrame 中去调用 使用同一个GL上下文 ? , 我前端是半路出家的,之前做游戏的,有些地方不是很懂 抱歉哈~
Pixi是什么,还是不明白你的应用场景
不好意思 , 是我没有讲清楚. 我在使用一个2d webGL 渲染库 因为我看到flvPlayer 也是渲染在canvas上的 , 这样我的主页面 就有两个canvas了, 我希望可以在一个canvas中渲染 例如 将flvPlayer的画面渲染到一张sprite上, 这样我在打开关闭player并且做一些打开或者关闭的动画可能比较方便(我不太熟系直接去操作dom..) ~ 所以 , 我想要使用其他的渲染库去渲染flvPlayer~
你应该是想把现有的canvas传入到flvPlayer吧,你可以把你的canvas当成参数传进来,如:
var flv = new FlvPlayer({
canvas: document.querySelector('canvas'),
});
然后修改一下/src/player/template.js,如:
export default function template(flv, player) {
const { options } = flv;
const cacheCss = options.container.style.cssText;
options.container.classList.add('flvplayer-container');
options.container.innerHTML = `<div class="flvplayer-player"></div>`;
flv.on('destroy', () => {
options.container.innerHTML = '';
options.container.style.cssText = cacheCss;
options.container.classList.remove('flvplayer-container');
});
Object.defineProperty(player, '$container', {
value: options.container,
});
Object.defineProperty(player, '$player', {
value: options.container.querySelector('.flvplayer-player'),
});
Object.defineProperty(player, '$canvas', {
value: options.canvas,
});
}
不过这样做的话,你就没办法使用flvplayer-control.js
了
好的 谢谢您 我是试一下~
内存过大问题已经尽力了,或者你可以把视频分辨率调低些。直播是不能快进的,至于解决方法可能我要优化一下代码才能有。
这样会把参数复杂化,而且一般人也不会知道渲染器怎么构造。这个库将来也不会有大改动,所以建议你在这基础上直接修改更适合。
好的~ 谢谢您~