menu

Flash捕获实时视频

使用Flash Media Live Encoder ,可以非常方便的录制直播视频(live video)。Flash Media Live Encoder 的选项很多而且很细,品质控制也很不错。如何在AS3中实现这些?
参考FMS的Help,我简单的封装了这样一个类:

1
2
3
4
5
6
7
8
9
10
11
12
package com.swordair.as3
{	
	/**
	 * 
	 * @author iifksp
	 * 
	 */
	import flash.events.NetStatusEvent;
	import flash.media.Camera;
	import flash.media.Microphone;
	import flash.net.NetConnection;
	import flash.net.NetStream;
Read more... »

滑动展示窗

这段短短50行的JS滑动窗效果,算是我的第二次JS编写(2009-04-06)。最后作为了毕业论文网站的一个小插曲。

122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
<script type="text/javascript">
	var currentTab = "tab_1";
	var widthUnit = 670;
	var maxTab = 7;
	function srollArrow(direction,scrollSection){
		if(direction=="left"){
			if(currentTab.split("_")[1]=="1"){
				nextTab = "tab_"+maxTab;
			}else{
				var nextTabNum = parseInt(currentTab.split("_")[1])-1;
				nextTab = "tab_"+nextTabNum;
			}
			scrollTab(nextTab,scrollSection);
		}else{
			if(currentTab.split("_")[1]==maxTab){
				nextTab = "tab_1";
			}else{
				var nextTabNum = parseInt(currentTab.split("_")[1])+1;
				nextTab = "tab_"+nextTabNum;
			}
			scrollTab(nextTab,scrollSection);
		}
	}
	var moveManager = {begin:0, end:0, change:0 ,finalPos:0 , time:18.0, limit:8.0};
	function scrollTab(tabName,scrollContent){
		if(currentTab == tabName){
			return;
		}
		lastTab = currentTab;
		currentTab = tabName;
		document.getElementById(currentTab).className = "active";
		document.getElementById(lastTab).className = "inactive";
		moveManager.begin = parseInt(lastTab.split("_")[1]);
		moveManager.end = parseInt(currentTab.split("_")[1]);
		moveManager.change = (moveManager.begin - moveManager.end)*widthUnit;
		moveManager.finalPos = -(moveManager.end-1)*widthUnit;
		oScrollContent = document.getElementById(scrollContent);
		nowLeft =  parseInt(oScrollContent.style.left);
		move();
	}
	function move(){
		if(moveManager.time<=moveManager.limit){
			oScrollContent.style.left = moveManager.finalPos + "px";
			moveManager.time = 18.0;
			return;
		}
		nowLeft += parseInt(moveManager.change*1/moveManager.time);
		moveManager.time-=0.9;
		oScrollContent.style.left = nowLeft + "px";
		setTimeout("move()",15);
	}
</script>
Read more... »

JavaScript菜单抖动

挖出了一些很怀念的代码。
这是一段我最早写的JS代码,大概时间是一年半以前的事了,实现的是一个菜单抖动的效果。看看这些代码,总是能回想起刚开始写JS时的兴奋之情。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<script type="text/javascript">
	var currunt=0
	function dis(menu_number){
		currunt=menu_number;
		width=30;
		speed=5;
		positionX=0;
		preSpeed=0;
		flag=1;
		document.getElementById("content"+menu_number).style.display="block";
		hidRest(menu_number);
	}
	function hidRest(menu_clicked){
		var MENU_LENGTH=6;
		for(i=1;i<=MENU_LENGTH;i++){
			if(i!=menu_clicked){
				document.getElementById("content"+i).style.display="none";
			}
		}
	}
	function shake(){
		if(flag==1){
			speed=1-speed*0.8
			positionX+=speed;
			positionX-=preSpeed;
			document.getElementById("d"+currunt).style.left=positionX
			if(Math.abs(speed)<1.0){
				document.getElementById("d"+currunt).style.left=0;
				flag=0;
			}
			preSpeed=speed;
			setTimeout("shake()",50)
		}
	}
</script>
Read more... »

mx:WebService导致的浏览器崩溃

这算是回头去记录一些以前遇到的问题。在一个视频监控的项目里,忽然在调试的时候出现浏览器常常崩溃的情况。而且一旦崩溃后就调试不能。但是项目编译确没有问题,swf文件照常生成,打开相应网页也能在浏览器中正常工作,唯独不能调试。不论使用IE还是FF都出现同样的问题。

Read more... »

Hello world!

第一篇文章总是要有些来龙去脉,就如同第一个程序总是要来个Hello world!一样。
以前不止一次搭建过wordpress,但最终都宣告失败。原因多种多样,忙碌者有之,兴尽者有之,或者,无墨者亦有之。但终究是不想放弃的。
过去的几年,学了很多,但都疏于梳理,以至荒废。
VB C C++ Java C# XHTML+CSS JavaScript PHP ActionScript Ruby Perl
Photoshop Flash Fireworks Illustrator CorelDRAW AutoCAD 3DsMax Maya
渐行渐远的内容,以及愈发冗长的行径线路,都充斥着迷惑。当再次回首时忽然有一种冲动,摘记、梳理、铭记,一路走来,挺有趣的。

1
2
3
4
5
6
7
/*C programming language*/
#include <stdio.h>
int main()
{
	printf("Hello,world!\n");
	return 0;
}
Read more... »
Page 2 of 212