代码之家  ›  专栏  ›  技术社区  ›  XBasic3000

在delphi上看youtube视频还有别的方法吗?

  •  2
  • XBasic3000  · 技术社区  · 16 年前

    我看到了 http://www.delphiflash.com/demo-youtube-video 如何在delphi上加载flash视频,但不是免费的。还有别的办法吗?

    sampleVideo.html//TwebBrowser上不起作用有其他方法吗?

    <html>
    <head>
    </style> 
        <style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style> 
    </head>
    <body>
      <object width="640" height="390">
      <param name="movie" value="http://www.youtube.com/v/L7NWdxFAHdY&hl=en_US&feature=player_embedded&version=3">
      </param><param name="allowFullScreen" value="true">
      </param><param name="allowScriptAccess" value="always">
      </param><embed src="http://www.youtube.com/v/L7NWdxFAHdY&hl=en_US&feature=player_embedded&version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390">
      </embed></object>
    </body>
    </html>
    
    2 回复  |  直到 16 年前
        1
  •  5
  •   RRUZ    16 年前

    我测试了你的html代码,在 TWebBrowser

    试试这个示例代码,在Delphi7和Delphi2007中进行了测试

    uses
    ActiveX;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
       LoadHtml(
                '<html> '+
                '<head> '+
                '</style> '+
                '    <style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>'+
                '</head> '+
                '<body>  '+
                '  <object width="640" height="390"> '+
                '  <param name="movie" value="http://www.youtube.com/v/L7NWdxFAHdY&hl=en_US&feature=player_embedded&version=3"> '+
                '  </param><param name="allowFullScreen" value="true"> '+
                '  </param><param name="allowScriptAccess" value="always"> '+
                '  </param><embed src="http://www.youtube.com/v/L7NWdxFAHdY&hl=en_US&feature=player_embedded&version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"> '+
                '  </embed></object> '+
                '</body> '+
                '</html> '
                );
    end;
    
    
    procedure TForm1.LoadHtml(HTMLStr: String);
    var
      aStream     : TMemoryStream;
    begin
       WebBrowser1.Navigate('about:blank');//reset the webbrowser
       while WebBrowser1.ReadyState < READYSTATE_INTERACTIVE do //wait to load the empty page
       Application.ProcessMessages;
    
        if Assigned(WebBrowser1.Document) then
        begin
          aStream := TMemoryStream.Create;
          try
             aStream.WriteBuffer(Pointer(HTMLStr)^, Length(HTMLStr));
             aStream.Seek(0, soFromBeginning);
             (WebBrowser1.Document as IPersistStreamInit).Load(TStreamAdapter.Create(aStream));
          finally
             aStream.Free;
          end;
        end;
    end;
    
        2
  •  4
  •   Chris Thornton    16 年前

    这肯定管用。我在我的应用程序(ClipMate)中试过,这是一个在Delphi2007编写的剪贴板应用程序。它可以使用TWebBrowser将任何文本剪辑显示为HTML。我复制了您的示例HTML,在ClipMate中将其视为HTML,然后代理项尾部立即启动。这是-你的HTML渲染在一个TWebBrowser,在一个Delphi应用程序。同样的代码在D5,D7,D2007中工作,我确认它在D2009,D2010中工作。 见: http://www.thornsoft.com/images/support/YoutubeClipMate.png alt text