将视频发送到youtube flash播放器时写入失败

时间:2013-01-02 01:20:28

标签: c# youtube

我的youtube缓存存在问题我试图制作(我的互联网连接非常慢)。它的工作原理是检测是否请求了视频播放页面并将响应保存到磁盘。它适用于Lightspark和FireFox上的html5播放器,但是当我在Google Chrome上试用它时,我在RespCacheCallback中获得了写入失败。

我有源here因为它太长而无法发布问题。

1 个答案:

答案 0 :(得分:0)

当我搜索缓存时,我忘了将范围添加到程序中创建的ID,这意味着程序尝试在请求一小部分时发送整个视频,这使得播放器关闭连接。通过将此方法添加到MainClass

来解决这个问题
static bool TryGetRange (string url, out string range)
{
    int index = url.IndexOf ("&range=");
    if (index == -1) {
        range = null;
        return false;
    }
    index += 7;
    int len = url.IndexOf ('&',index) - index;
    range = url.Substring (index,len);
    return true;
}

此方法检查url中是否存在range参数,然后获取其值。 然后在if(File.Exists (requestData.Signature + "_done"))

之前添加此代码
string range;
if(TryGetRange (requestString, out range))
{       
    requestData.Signature += range;
}

如果检测到范围参数,则会将范围添加到签名