平滑播放FLV视频文件-Flash教程
来源:闪吧 作者::jhckm
更新时间:2008-03-04
点击:
一直觉得flash播放视频文件不是很理想,除需要转换常用的MPG、AVI为FLV的麻烦不说,单是播放FLV文件时那“马赛克”(实时是缩放播放时没有经过抗锯齿处理)很不舒适,曾经以为是编码的问题,下载了各类FLV的编码文件并把源文件为VCD的文件用各种码率压缩在flash中播放都显得很粗糙,没有单独用Window mediaplay全屏播放顺眼!
无意间在google video上看到一段视频在线播放感觉很好,无上述说的“马赛克”,可当下载在本地插入我的flash后马赛克出现了,很希奇,就仔细研究,原来google video的播放器有一个选项为\"Smooth video\"就是平滑视频的意思,反复点选“Smooth video”发现效果很明显。因对此很感爱好,试着破解google video的播放器没成功,搜索国内国外的网站没有提到这是怎么实现的,在某一网站有人猜想是用flash8新的滤镜BlurFilter实现,后就试着用BlurFilter做,做完后播放发现确实可以,但有一个问题跟google video player的不一样,就是在视频被放大得很大时,用BlurFilter影响速度,而google video player播放打开“Smooth video”不会影响播放速度。
最后在翻看flash8的帮助文档时无意间发现video本身就有一个属性“smoothing”,但此属性默认是false,所以视频在缩放时没抗锯齿(smooth平滑)处理,下面介绍用“smoothing”属性平滑播放视频的方法,用的是帮助文档中的一个例子:
1.新建flash文档(例800X600),在库中新建视频,拖到舞台上(放大为800X600),取名为:my_video
2.新建一按钮如“平滑视频”实例名为:smoothing_btn
3.在第一帧输入如下as: this.createTextField(\"smoothing_txt\", this.getNextHighestDepth(), 0, 0, 100, 22);
smoothing_txt.autoSize = true;
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
my_video.attachVideo(my_ns);
my_ns.play(\"test1.flv\");
my_ns.onStatus = function(infoObject:Object) {
updateSmoothing();
};
smoothing_btn.onRelease = function() {
my_video.smoothing = !my_video.smoothing;
updateSmoothing();
};
function updateSmoothing():Void {
smoothing_txt.text = \"smoothing = \" my_video.smoothing;
}
无意间在google video上看到一段视频在线播放感觉很好,无上述说的“马赛克”,可当下载在本地插入我的flash后马赛克出现了,很希奇,就仔细研究,原来google video的播放器有一个选项为\"Smooth video\"就是平滑视频的意思,反复点选“Smooth video”发现效果很明显。因对此很感爱好,试着破解google video的播放器没成功,搜索国内国外的网站没有提到这是怎么实现的,在某一网站有人猜想是用flash8新的滤镜BlurFilter实现,后就试着用BlurFilter做,做完后播放发现确实可以,但有一个问题跟google video player的不一样,就是在视频被放大得很大时,用BlurFilter影响速度,而google video player播放打开“Smooth video”不会影响播放速度。
最后在翻看flash8的帮助文档时无意间发现video本身就有一个属性“smoothing”,但此属性默认是false,所以视频在缩放时没抗锯齿(smooth平滑)处理,下面介绍用“smoothing”属性平滑播放视频的方法,用的是帮助文档中的一个例子:
1.新建flash文档(例800X600),在库中新建视频,拖到舞台上(放大为800X600),取名为:my_video
2.新建一按钮如“平滑视频”实例名为:smoothing_btn
3.在第一帧输入如下as: this.createTextField(\"smoothing_txt\", this.getNextHighestDepth(), 0, 0, 100, 22);
smoothing_txt.autoSize = true;
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
my_video.attachVideo(my_ns);
my_ns.play(\"test1.flv\");
my_ns.onStatus = function(infoObject:Object) {
updateSmoothing();
};
smoothing_btn.onRelease = function() {
my_video.smoothing = !my_video.smoothing;
updateSmoothing();
};
function updateSmoothing():Void {
smoothing_txt.text = \"smoothing = \" my_video.smoothing;
}
4.保存文档
5.测试影片(当然文档的相同目录下得有test1.flv文件)
6.你可反复按“平滑视频”的按钮比较效果。
小结:A为什么这么有用的属性在讲解“动态播放FLV文件”的任何文档和书中都没有?B以后碰到问题先搜索帮助文档免走弯路C若有不对请高手同行多指教
源程序下载:
test_smooth_video.rar
相关Flash教程:
最新评论:
评论加载中....
发表评论:不能超过250字节,请自觉遵守互联网相关政策法规.
- 昵称: 验证:







