【发布时间】:2012-07-27 03:31:27
【问题描述】:
当我通过时
作为参数,下载的是 HTML 代码而不是视频。
public void StreamDownload(Uri currentUrl)
{
int dataLength;
int bytesRead;
WebRequest req = WebRequest.Create(currentUrl);
WebResponse response = req.GetResponse();
string oFileName = System.IO.Path.GetFileName(URLBox.Text);
oFileName = AdditionalFunctions.CorrectFname(oFileName); //this function replaces forbidden characters with '♥'.
Stream dataStream = response.GetResponseStream();
byte [] buffer = new byte[1024];
FileStream oFile = new FileStream(oFileName,FileMode.Append);
dataLength = (int)response.ContentLength;
do
{
bytesRead = dataStream.Read(buffer, 0, buffer.Length);
oFile.Write(buffer, 0, bytesRead);
}
while (bytesRead != 0);
}
因 cmets 而编辑
是否有从指定 URL 提取视频流的通用算法? Youtube 只是一个例子。
【问题讨论】:
-
您正在使用的网址 是 网址到 html 页面。当然会被下载。
-
您的错误只是认为资源是视频文件。如果你浏览它,你最终会看到一个网页,而不仅仅是一个视频。
-
我认为“如何获取 YouTube 视频的 url”这个问题与编程无关。