作者:屈超(Chappell.Wat)
发布时间:May 27, 2006
分类:程式::五代
Youtube 自从在视频加入 Session 机制以后……
不仅直接下载已经成为往事……
而且即使你附带 Session 参数进行播放也仅仅只有几分钟的有效期……
(与此不同的是 Vlog 的 Session 方式……
它的时效长很多……)
这样一来得使用 Youtube 的官方的播放器……
由于我给 AnyMedia 使用内建播放器……
理所当然就只能支持几分钟的时效了……
AnyMedia 对 Youtube 视频的支持也失效了……
于是我昨天研究了一下如何继续使用自定义的 Flv 播放器来播放 Youtube 视频……
由于 Action Script 的 LoadVars 函式有跨域限制……
所以我选择通过 PHP 获取视频真实地址……
然后再通过 Flash 获取本地 PHP 提供的地址……
(至于为什么 PHP 需要获取两次视频地址……
原因是前一次页面发送了 Location Header ……
而似乎播放器不能处理报文头的转向信息……)
好歹终于可以播放了……
由于每次播放都必须通过建立远程连接来获取地址……
所以播放前得缓劲儿几十秒……
下面提供全部相关文件……
程序未加密未混淆……
希望您转载时保留俺的部落格地址……
原始地址:http://www.youtube.com/watch?v=iCTrSL9i1EM
演示:
《CountDown》 by Hyde
下载:
Box 下载: http://www.box.net/public/arkxmaufo4
作者:屈超(Chappell.Wat)
发布时间:May 21, 2006
分类:程式::五代
前言
AnyMedia 自从 3.0.0 版本附带了多国语言包……
昨天也收到 Oberguru 翻译的德文版本……
当然……
除了主体文件实现多语言还不够……
包括安装、升级文档在内的部分也得相应提供多语言才行……
为了赶在 3.5.1 释出之前实现文档的多语言系统……
于是到处寻找 JavaScript 版本的多语言系统……
未果……
使用 xml + xsl 的倒是找到一个……
可惜对浏览器支持太差……
恼火……
于是乎自己硬头皮写了一套……
不多说……
记录如下:
目录:
主程式数小时的成品……
未成体系……
望各位见谅……
(函式、变数的名称沿用 AnyMedia 的……
大伙儿要使用请自个儿改……)
var is_regexp = (window.RegExp) ? true : false;
var anymedia = new Array;
// 所支援的数组,键是语系简写,值是语言包名称
var langs = new Array;
langs['de'] = 'German';
langs['en'] = 'English';
langs['zh-cn'] = 'Simplified_Chinese';
langs['zh'] = 'Traditional_Chinese';
// 语言选单
function langSelect()
{
document.write('
<select onchange="changeLang(this.options[this.selectedIndex].value)"> <optgroup label="Language Chooser"></optgroup> <option value="' + key + '" selected="selected">' + anymedia['language'] + '</option> <option value="' + key + '">' + langs[key] + '</option> </select>');
}
// 获取语言的函式,如果未传值就根据浏览器语系选择
function getLang(lang)
{
if (lang && langs[lang]) {
return langs[lang];
} else {
if (navigator.userLanguage) {
userLang = navigator.userLanguage.toLowerCase();
} else if (navigator.language) {
userLang = navigator.language.toLowerCase();
}
if (userLang && langs[userLang]) {
createCookie('anymedialang', userLang, 365);
return langs[userLang];
} else {
createCookie('anymedialang', 'en', 365);
return langs['en'];
}
}
}
// 获取短语,第一个参数必有,如果有多参数,则从第二个参数开始成为第一个参数的构成短语
function lang()
{
if (!arguments || arguments.length < 1 || !is_regexp) {
return false;
} else if (arguments.length == 1) {
document.write(anymedia[arguments[0]]);
} else if (arguments.length > 1) {
var args = arguments;
var str = anymedia[args[0]];
var re;
for (var i = 1; i < args.length; i++) {
re = new RegExp("%"+i+"\\$s", 'gi');
str = str.replace(re, anymedia[args[i]]);
}
document.write(str);
} else {
return false;
}
}
// 构造短语,第一个参数必有,如果有多参数,则从第二个参数开始成为第一个参数的构成短语
function construct_phrase()
{
if (!arguments || arguments.length < 1 || !is_regexp) {
return false;
}
var args = arguments;
var str = anymedia[args[0]];
var re;
for (var i = 1; i < args.length; i++) {
re = new RegExp("%"+i+"\\$s", 'gi');
str = str.replace(re, anymedia[args[i]]);
}
return str;
}
// 生成链接,本来无甚必要,为了方便则添加了
function add_link(url, str)
{
document.write('<a href="'+anymedia[url]+'" target="_blank">'+anymedia[str]+'</a>');
}
// 设置 Cookie 值
function createCookie(name, value, days)
{
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
}
else expires = "";
document.cookie = name + "=" + value + expires + "; path=/";
}
// 读取 Cookie 值
function readCookie(name)
{
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++)
{
var c = ca[i];
while (c.charAt(0) == ' ')
c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0)
return c.substring(nameEQ.length, c.length);
}
return null;
}
// 切换语言
function changeLang(name)
{
createCookie('anymedialang', name, 365);
var url = new String(window.location);
window.location = url;
}
// 读取语言文件
function loadLang(lang)
{
document.write('<sc'+'ript language="javascript" type="text/javascript"></sc'+'ript>');
anymedia['language_id']=lang;
}
目录:
语言包
以下是语言包文件示例:
anymedia['name'] = '沙滩凉鞋';
anymedia['i'] = '我';
anymedia['x_is_x'] = '%1$s是%2$s';
以上定义了三个短语……
如何使用?
请往下看……
目录:
使用方法
现在教你如何使用……
< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<!-- Code By Crist Chsu -->
<script src="./langSwither.js" language="javascript" type="text/javascript"></script> <script language="javascript" type="text/javascript"> var cookie = readCookie(\\\'anymedialang\\\'); var title = getLang(cookie); loadLang(title); </script><!-- 生成语言选单 -->
<script>langSelect();</script><!-- 输出短语 -->
<script>lang(\\\'x_is_y\\\', \\\'i\\\', \\\'name\\\');</script>
本例将输出一个语言选单,
还有一段短语 "我是沙滩凉鞋"。
当然啦,
加入你加入英文语言包就可以进行切换了……
我困了……
睡觉去了……
目录:
作者:屈超(Chappell.Wat)
发布时间:May 18, 2006
分类:口胡::一の瀬,程式::五代

这几天忙着手上一些事……
没时间更新……
不过每天都抽空在写 AnyMedia ……
昨天下了狠心……
将其更新至 3.0.0 版本……
修复了一批漏洞……
添加了一批功能……
昨天已经将 AnyMedia 作为本月的 Hack of the Month 候选插件提交了……
有老外评论:“this must be the hack of the Year”……
话虽如此……
不晓得本月的 Award 是否能评上呢……
另外……
关于本则日志的抬头……
实在是由于今天研究了太多 BOX 特效……
有名的 LightBox 就不说了……
但是居然还有“反义词”—— ThickBox ……
而且二者分别有各自的 Plus 版本……
(LightBox Plus & ThickBox Plus)
然后还有 Greybox ……
我已经在考虑是否自己也写一个类似的特效了……
名字就叫 AnyBox ……
呵呵……
作者:屈超(Chappell.Wat)
发布时间:April 30, 2006
分类:口胡::一の瀬,程式::五代,电动::四谷
大叔的今周
修二的这句话……
具体是写作什么……
没个定论……
我认为是“Bye By Bicycle”……
也有人说是“Bye Bye Bicycle”……
还有人说是“Bye Bye Bye, Cycle ……”
不过现在不是研究这个的时候……
要知道我现在可是抽空上网补上先周的 Log……
而且讨厌的是我忘记带手机的充电器回家鸟…… orz ……
因此我决定过一个“绿色环保”的劳动节……
屁话不说了……
下面开始介绍主要内容:
- Anymedia 改进方案
- 心跳回忆PSP汉化中断
- 休假的一些计划
- 关于 Blog 一些更新
Anymedia 改进计划AnyMedia 已经很久没有继续更新了……
关键是俺觉得现有的状态已经比较实用了……
再继续添加鸡肋功能也没用……
不过最近我找到了更新的理由:
一来是找到几个客户帮着重新进行界面翻译……
(我的 E 文用来折磨老外正合适……)
再者则是最近找到读取媒体信息的具体资料……
(Charliex 以前的要求终于有实现的可能了……)
还有就是最近学习 Action Script 时……
找到了通过 Flash 播放 WMA、RM 等音频格式的方法……
最后还有就是把我的 Flv Downloader 的一些“成功”整合到里头去……
比如 iFilm 的视频标签……
这么多可以更新的……
我还是慢慢来吧……
目录:
- Bye by Bicycle
- Anymedia 改进方案
- 心跳回忆PSP汉化中断
- 休假的一些计划
- 关于 Blog 一些更新
心跳回忆PSP汉化中断令人抱歉的是……
《心跳回忆 PSP》的汉化暂时中断……
原因很简单:
有 Bug ……
我测试时陪镜魅罗上购物街发生事件时会黑屏……
(并非我汉化的差错……
因为我刚导入菜单文本……)
而我也听说片头动画会黑屏……
所以可能其 ISO 有问题……
或者没有完美可玩版……
看来只能再等等了……
目录:
- Anymedia 改进方案
- 心跳回忆PSP汉化中断
- 休假的一些计划
- 关于 Blog 一些更新
五一长假的一些个计划说到五一长假的计划……
准备打爆几个游戏:
《GTA》和《圣剑》

.jpg)
当然……
俺还要到滨江公园去放纸鸢……
还有还有……
要补好瞌睡……
长假以后将是一波高强度开发冲击……
想起来就心寒啊……
目录:
- Anymedia 改进方案
- 心跳回忆PSP汉化中断
- 休假的一些计划
- 关于 Blog 一些更新
本部落格的一些更新记录最后说说我部落格的一些更新……
首先当然就是添加了 Google Page Rank 和 Alexa Rank 的显示……
缓存每周更新一次……
暂时无意提供此类查询或显示服务……
不过具体方法我已经写的很清楚了……
有空可以研究一下大家……
此外我还调整了联系方式的显示方法……
由以前的 JS + XML 换成了现在的 FLASH + XML ……
大家的反响都不错……
嘿嘿……
有空也可以研究一下大家……
最最最后……
给部落格添加了 LightBox 效果……
(VB 插件也在回家前几分钟发布……
完美后将发布到英文官方…… )
由于和以前我写的自动缩图(PHP 正则替换)和鼠标悬停说明效果有冲突……
所以我还花了点时间将三者整合到一起……
等于现在成了一个整体……
等我长假结束就共享释出……
由于现在完全不依赖于 PHP 代码 ……
因此几乎可以说适用于任何 WEB 程式……
(凉鞋君…… 言过了……)
总之……
除了影响部落格的载入速度以外……
(因为 JS 遍历所有 A、IMG 元素进行替换……)
暂时还没发现什么弊端……
目录:
- Anymedia 改进方案
- 心跳回忆PSP汉化中断
- 休假的一些计划
- 关于 Blog 一些更新
- «
- 1
- ...
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- »