有没有办法用 HTML5 播放器循环播放 YouTube 视频的一部分?我试过这个代码(开始 7 秒,结束 12 秒)
第一个“循环”显示我想要的部分,第二个和其他循环显示整个视频。
它在 Flash 中工作,但我在移动设备的 HTML 5 中遇到问题。
这是我的嵌入代码:
<iframe allowfullscreen="" frameborder="0"  width="960" height="720" src="http://www.youtube.com/embed/Bpu0TIXzI1w?version=3&start=7&end=12&autohide=1&hl=en_US&rel=0&loop=0&modestbranding=1&playlist=Bpu0TIXzI1w"></iframe>
Run Code Online (Sandbox Code Playgroud) youtube youtube-javascript-api android-youtube-api youtube-data-api
我想通过使用 youtube 上传数据 api 上传视频,但不幸的是,当我尝试上传视频时,它会生成错误,即await videosInsertRequest.UploadAsync(); 
在我的代码中取消了任务,我已经应用了 AsyncTimeout 属性,我的操作是
[AsyncTimeout(3600000)]
public async Task <ActionResult> YouTube(int? Id)
{
    // await Run();
    var dbListVideos = db.Videos.Where(v => v.Id == Id).ToList();
    await YouTubeHandler.UploadVideos(dbListVideos);
    return View();
}
Run Code Online (Sandbox Code Playgroud)
它调用 YouTube 的 API
 public static async Task UploadVideos(List<MyVideo> videosList)
    {
        foreach (var vid in videosList)
        {
            await Upload(vid);
        }
    }
    public static async Task Upload(MyVideo newVideo)
    {
        UserCredential credential;
        using (var stream = new FileStream("G:\\client_secret_783534382593-0cn4gm229raqq97kdu0ghsj9hqfsc5o1.apps.googleusercontent.com.json", FileMode.Open, FileAccess.Read))
        {
            credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
                GoogleClientSecrets.Load(stream).Secrets,
                // This …Run Code Online (Sandbox Code Playgroud) 这是我创建的 iframe,用于在我的博客中自动启动视频(主要是音乐):
< iframe width="140" height="105" src="https://www.youtube.com/embed/tGzl_AB4poI?rel=0&showinfo=0&autoplay=1" frameborder="0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)
这一切都很完美。唯一的问题是音频,因为音量太高,我会降低它 - 所以我在我的代码中添加了这部分:"&player.setVolume(5)"
那么,最终的代码是这样的:
< iframe width="140" height="105" src="https://www.youtube.com/embed/tGzl_AB4poI?rel=0&showinfo=0&autoplay=1&player.setVolume(5)" frameborder="0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)
问题是它不起作用,而且 Volume 仍然是默认的-(但代码仍然适用于自动播放和所有其他偏好)。
出了什么问题?
我正在使用 YouTube 视频播放器 API 在 iframe 中嵌入 YouTube 视频。我想隐藏右上角的播放按钮、视频标题和图标。这最初与我在下面编写的脚本一起使用。但是,一旦视频结束,视频看起来像这样:
也没有任何图标或标题是可点击的。为什么视频结束后会出现这些?如何编辑我的脚本以在视频结束时隐藏视频标题、播放按钮和右上角的图标?
到目前为止,这是我的脚本:
// download api code
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// this function creates an <iframe> and youtube player after the api code downloads
var player;
function onYouTubePlayerAPIReady() {
    player = new YT.Player('player', {
    height: '400',
    width: '800',
    playerVars: {
        'autoplay': 1,
        'controls': 0,
        'autohide': 1,
        'wmode': 'opaque',
        'rel': 0,
        'loop': 1
    },
    videoId: 'vlRxmgXPcW0',
    events: {
        'onReady': onPlayerReady
    }
});
} …Run Code Online (Sandbox Code Playgroud) 我正在 Android N 上测试我的应用程序并尝试在我的 web 视图中加载 youtube 页面并自动播放它们。这是我的onCreate:
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mWebView = (WebView) findViewById(R.id.activity_main_webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.setWebViewClient(new TestWebViewClient());
    mWebView.setWebChromeClient(new WebChromeClient());
    mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);
    mWebView.loadUrl("https://www.youtube.com/watch?v=hzz_6dmv03I?autoplay=1");
    //mWebView.loadUrl("https://vimeo.com/117116735");
}
Run Code Online (Sandbox Code Playgroud)
加载页面时,上述内容不会自动播放 youtube 或 vimeo 视频。我还尝试将以下内容添加到我的TestWebViewClient
public class TestWebViewClient extends WebViewClient {
    public void onPageFinished(WebView view, String url) {
        view.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()"); 
    }
}
Run Code Online (Sandbox Code Playgroud)
这实际上成功地自动播放了 vimeo 视频链接,但是当我在 youtube 视频链接上使用它时,我收到以下错误:
Uncaught TypeError: Cannot read property 'play' of undefined
Run Code Online (Sandbox Code Playgroud)
对于 youtube 视频,我还尝试在查找其类名后模拟单击播放按钮,但这也不起作用:
public class TestWebViewClient extends WebViewClient {
    public void onPageFinished(WebView …Run Code Online (Sandbox Code Playgroud) 我刚刚观看了在项目中设置时尚警报对话框的 YouTube 视频,但视频中的人使用 Android Studio 作为开发平台,而我使用 Eclipse。所以我只是去了提到的 GitHub 链接并下载了项目库。现在我已经在我的 Eclipse 中导入了该项目库。但是在一个 xml 中显示了一个错误:
<com.pnikosis.materialishprogress.ProgressWheel
        android:id="@+id/progressWheel"
        android:layout_width="80dp"
        android:layout_height="80dp"
        wheel:progressIndeterminate="true"
        android:layout_gravity="center" />
Run Code Online (Sandbox Code Playgroud)
错误:在包“cn.pedant.sweetalert”中找不到属性“ProgressIndeterminate”的资源标识符
错误在上面代码片段的第一行。
我正在尝试编写一个 Python 脚本,该脚本可以提取 .mp4 文件格式的任何视频的下载链接。为此,我正在使用,youtube-dl但它以 .m3u8 文件格式返回视频链接。如何以 .mp4 文件格式获取它们?
我正在尝试使用以下代码从 Youtube 播放列表中获取所有 137 个视频:
function loadVideos() {
  let pagetoken = '';
  let resultCount = 0;
  const mykey = "***********************************";
  const playListID = "PLzMXToX8Kzqggrhr-v0aWQA2g8pzWLBrR";
  const URL =  `https://www.googleapis.com/youtube/v3/playlistItems?
part=snippet
&maxResults=50
&playlistId=${playListID}
&key=${mykey}`;
  fetch(URL)
    .then(response => {
      return response.json();
    })
    .then(function(response) {
      resultCount = response.pageInfo.totalResults;
      console.log("ResultCount: " + resultCount);
      pagetoken = response.nextPageToken;
      console.log("PageToken: " + pagetoken);
      resultCount = resultCount - 50;
      console.log("ResultCount: " + resultCount);
      while (resultCount > 0) {
        const URL = `https://www.googleapis.com/youtube/v3/playlistItems?
part=snippet
&maxResults=50
&playlistId=${playListID}
&key=${mykey}
&pageToken=${pagetoken}`;
        fetch(URL)
          .then(response …Run Code Online (Sandbox Code Playgroud) 我正在尝试让 Youtube-dl 制作指定频道上所有视频的存档列表。我已经通过以最低质量下载视频来做到这一点,但我想知道是否有一种方法可以获取 ID 并将其存档 - 而不必像 4500 多个视频那样下载
这就是我目前所拥有的。它将视频下载到一个单独的文件夹。最后的 ffmpeg 位可能不需要,但它是我知道的另一个命令遗留下来的。
youtube-dl.exe --download -i -f worst --download-archive Archive.txt https://www.youtube.com/channel/UCH-_hzb2ILSCo9ftVSnrCIQ -o "E:\Video\YTDL\%(title)s.%(ext)s" --ffmpeg-location "%CD%\ffmpeg\bin"
我尝试了--simulate 和--skip-download,但这只会导致cmd 中什么也没有发生...
youtube ×10
javascript ×4
android ×2
api ×2
html ×2
iframe ×2
youtube-api ×2
youtube-dl ×2
asp.net ×1
asynchronous ×1
c# ×1
eclipse ×1
import ×1
jquery ×1
python ×1
video ×1
web ×1
webview ×1