我想使用googleapis软件包。我只想在结束后隐藏YouTube视频。我有以下代码:
import 'dart:html';
import 'package:googleapis/youtube/v3.dart';
import 'package:googleapis_auth/auth_io.dart';
final _credentials = new ServiceAccountCredentials.fromJson(r'''
{
"private_key_id": ...,
"private_key": ...,
"client_email": ...,
"client_id": ...,
"type": "service_account"
}
''');
const _SCOPES = const [StorageApi.DevstorageReadOnlyScope];
main(){
// insert stylesheet for video (width, height, border, etc.) - works well
LinkElement styles=new LinkElement();
styles..href='iframe.css'
..rel='stylesheet'
..type='text/css';
document.head.append(styles);
//add iframe element - works also well
IFrameElement video=new IFrameElement();
video.attributes={'allowfullscreen':'','seamless':'','src':'http://www.youtube.com/embed/ORsFFjt1x6Q?autoplay=1&enablejsapi=1'};
document.body.insertAdjacentElement('afterBegin',video);
//check if the video has ended - probably doesn't work
if(video.contentDocument.onLoad){
if(video.getPlayerState==0){
video.remove();
}
}
}
我究竟做错了什么?
最佳答案
您的video
变量是IFrameElement的类型,您不能在其上运行JsObject的callMethod。
您需要使用Dart的Youtube API,它是Google的Beta版,在Dart文档中已弃用。
Dart对于IFrameElement,Element和MediaElement具有onEnded
事件方法,该方法处于实验阶段,但可能对您有用。
建议您在Dart代码中使用YouTube iframe JavaScript API!
这些资源说明了您的需求:
如果您需要更多信息,请告诉我您想知道什么。
关于youtube-api - 使用googleapis包结束后如何隐藏YouTube视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24845797/