flex4+fms3.5+flash cs4开发实时音视频直播及点播详解
最近公司要做个拍卖行的项目,我被分配了“实时音视频直播及点播”的部分。我一直从事JAVA重来没研究过adobe的东西,虽然sun(现在是ORACLE了)也有JMF,但是这个东西早就暂停更新了,感觉已经与时代脱节。最后经过我们开发人员都有的刻苦专研,埋地苦干的精神终于在一个礼拜搞定了。
闲话少说,我们切入正题
开发工具及环境:
1)flash builder4
2)flash cs4
3)flash media server3.5
fms部分
fms是adobe的流媒体服务器,不过是收费的,价格大概是oracle的一半,不过还是觉得挺贵的。adobe提供控制连接数的开发人员版,除了这点具体和完全版一样。服务器的配置网上很多,大家一搜就一大把。
其中关键的是:
由于需求是不仅要提供直播,而且还能点播历史音视频。而as的NetStream的publish方法提供的录制功能是将录制的视频放在直播的同一个文件夹下,所以要需要改一下fms配置。
1)fms的dvr默认是关闭的,需要修改C:\Program Files\Adobe\Flash Media Server 3.5\applications\live\main.far里的Application.xml,将文件中的
<StreamManager>
<StreamRecord override="no">false</StreamRecord>
</StreamManager>
改为
<StreamManager>
<StreamRecord override="yes">true</StreamRecord>
</StreamManager>
修改后重新加入main.far中
2)fms默认是将直播与点播文件目录分开的(live和vod),但是视频录制是在live文件加下,所以我们要修改点播目录
C:\Program Files\Adobe\Flash Media Server 3.5\conf\fms.ini文件中将
VOD_DIR 设置为 C:\Program Files\Adobe\Flash Media Server 3.5\applications\live
这样就可以实现直播点播同文件夹共存了
3)配置虚拟目录
打开C:\Program Files\Adobe\Flash Media Server 3.5\applications\live\Application.xml在<VirtualDirectory>中加入
<Streams>/;${VOD_COMMON_DIR}</Streams>
<Streams>/;${VOD_DIR}</Streams>
补充:如果在flex中直播视频时抛出noAccess错误,请在服务器上给录制机分配写入的权限。
通过以上配置fms就完成了
flex部分
&l
相关文档:
首先要求大家到数据库建立一个数据库,在我这例子中数据库名为userDb,建立一个表userInfo,里面设置两个字段一个为id,一个为name。
创建以下java代码在src目录下
User.java
package org.rjb.java;
public class User {
private String name;
public String getName() {
return name;
}
public voi ......
这个箭头的小图案。
这个只是用于创作的小工具图形,这次增加了箭头,圆环,菱形,鱼儿等一些有趣的图案。
使用圆环的创作:
齿轮图案:
创作
使用菱形的创作
新增鱼儿:图案
Demo 在这里:
有兴趣进行创作的时候使用。
这些类库仅仅用于实验的时候进行创作。丰富一些As本身一些图案。 ......
第一,添加控件。
工具箱 添加—COM组件—选择Shockwave Flash Object,点击确定。之后根据需要对该dll文件进行注册。
注册方式为regsvr32 C:\Windows\System32\Macromed\Flash\Flash10a.ocx [查看这个目录,版本不同可能此文件名不同]
第二,拖放控件至窗体。
......
本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!
FLASH型的MSP430单片机都带有信息存储器SegmengA及SegmentB,SegmengA及SegmentB各有128字,SegmentB的地址是:0x01000h到0x107F,SegmentA的地址是:0x01080h到0x010FFh。程序被写入MSP430之后,程序通过SegmengA及SegmentB就可以保 ......
应为设计要求, 我需要计算String的宽度,
搜索了下网上的文章, 看到有用measureText(string)的,
可是用了下发现, 这个function得到的string大小, 不会根据字体的大小, 粗黑的变化,
始终返回同一个值, 也许是我的用法不对, 最后我没有这个方法,
改用了另外一个方法:
private function getTextWidth():int
{
&nbs ......