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

本文关键字:youtube flash 播放器 视频 失败 | 更新日期: 2023-09-27 17:50:15

我正在尝试制作youtube缓存(我的互联网连接真的很慢)。它通过检测是否请求视频播放页面并将响应保存到磁盘来工作。它在FireFox上与lightspark和html5播放器一起工作得很好,但当我在Google Chrome上尝试它时,我在RespCacheCallback中得到一个写失败。

我在这里有源代码,因为它太长,不能与问题一起发布。

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

我在搜索缓存时忘记将范围添加到程序中创建的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;
}

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