youtube-api - 使用googleapis包结束后如何隐藏YouTube视频?

标签 youtube-api dart

我想使用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!

这些资源说明了您的需求:

  • https://www.dartlang.org/articles/js-dart-interop/
  • https://developers.google.com/youtube/iframe_api_reference

  • 如果您需要更多信息,请告诉我您想知道什么。

    关于youtube-api - 使用googleapis包结束后如何隐藏YouTube视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24845797/

    相关文章:

    python - Python YouTube下载器TypeError:预期的字符串或类似字节的对象

    flutter - 在 Dart 中如何在文本中搜索整个单词

    dart - Flutter stateleswidget 返回列表

    javascript - 我的搜索栏与 YouTube API 不同步?

    java - 在 youtube.videos.insert() 请求中使用部分 ="...,processingDetails"时出错

    youtube - 列出播放列表项时返回持续时间?

    flutter - Dart - 无法捕获异步异常

    flutter - 如何为flutter分配变量Navigator.push(context,variable);

    dart - 如何展平一个列表?

    java - 如何在 GWT 中同一页面的两个实例之间进行通信