我正在尝试使用Twitch API在我的网络应用中嵌入一个频道。
说明如下:
<html>
<body>
<!-- Add a placeholder for the Twitch embed -->
<div id="twitch-embed"></div>
<!-- Load the Twitch embed script -->
<script src="https://embed.twitch.tv/embed/v1.js"></script>
<!-- Create a Twitch.Embed object that will render within the "twitch-embed" root element. -->
<script type="text/javascript">
new Twitch.Embed("twitch-embed", {
width: 854,
height: 480,
channel: "monstercat"
});
</script>
</body>
</html>
我在我的https://embed.twitch.tv/embed/v1.js
文件夹和angular.json中包含了assets
文件。
"scripts": [
"src/assets/twitch/twitch-embed-v1.js"
]
我的组件文件如下所示:
import Twitch from '../../../../../assets/twitch/twitch-embed-v1';
export class TwitchPlayerComponent implements OnInit {
ngOnInit() {
const options = {
width: 854,
height: 480,
channel: '424976424',
};
const player = new Twitch.Embed('twitch-embed', options);
player.setVolume(0.5);
}
}
该脚本显示在Chrome devtools的源代码面板中,但会产生以下错误:
Embed is not a constructor
正确使用脚本有什么障碍?
抽搐的v1还没有TypeScript打字,这将在v2中出现。您不应将脚本添加到资源文件夹中。如果有抽搐的更新怎么办?您必须手动更新资产文件夹。
无论如何,我认为,要使用twitch SDK,您可以执行以下操作:
npm install twitch-js@next
在你的TS:
import * as Twitch from 'twitch-js';
new Twitch.Embed({...});