我对这个网站很陌生!过去几个晚上我一直在阅读代码!从发布具有网络访问权限的 Flash 项目,以便它可以连接 Internet 到 RTMP 应用程序和流媒体。但是我碰壁了,我不想走错路,因为我的大部分工作都是这个网站上的点点滴滴的有用信息。请原谅我不是一家公司的老板,所以我不再做太多的编码工作,而且我肯定已经忘记了我的大部分 PHP 编码背景,请不要因为愚蠢或“菜鸟”而责备我。但是,既然我已经通过 flash 和 actionscripts3 编程做到了这一点,我认为如果我向更聪明的人提出一些问题,这不会有什么坏处!
目前我正在开发一个单一窗口的 Flash 项目,该项目将允许我提取多达 12 个实时 RTMP 流。目前,我已经能够做的所有事情,到目前为止,我有一个工作代码只需拉一个 RTMP 字符串。我花了 3 天时间从互联网上下载代码,让它工作。我已经成功地获得了一个带有动作脚本的流
package com.endseven {
import flash.events.NetStatusEvent;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
import com.endseven.RTMPStream;
public class Downstream extends RTMPStream {
/* the constructor. */
public function Downstream():void {
trace("Downstream object has been created."); // debug trace..
this.oVideo = new Video(640, 480);
this.oConnection = new NetConnection();
this.oConnection.addEventListener(NetStatusEvent.NET_STATUS, eNetStatus, false, 0, true);
this.oConnection.connect(this.sMediaServerURL);
}
/* triggered when a net status event is received. */
private function eNetStatus(oEvent1:NetStatusEvent) {
trace("NetStatusEvent: " + oEvent1.info.code); // debug trace..
switch (oEvent1.info.code) {
case "NetConnection.Connect.Success":
// create a stream for the connection..
this.oNetStream = new NetStream(oConnection);
this.oNetStream.addEventListener(NetStatusEvent.NET_STATUS, eNetStatus, false, 0, true);
this.oNetStream.bufferTime = 5; // set this to whatever is comfortable..
// listen for meta data..
this.oMetaData.onMetaData = eMetaDataReceived;
this.oNetStream.client = this.oMetaData;
// attach the stream to the stage..
this.oVideo.attachNetStream(oNetStream);
this.oNetStream.play(sStreamName);
this.addChildAt(this.oVideo, 0);
trace("Connected to the RTMP server."); // debug trace..
break;
case "NetConnection.Connect.Closed":
trace("Disconnected from the RTMP server."); // debug trace..
break;
case "NetStream.Play.StreamNotFound":
trace("This stream is currently unavailable."); // debug trace..
break;
}
}
}
}
这是我已经开始工作的唯一代码 actionscript3 代码。但这只会在单个显示器上拉入单个流。我的意思是我可以处理这个并且只有十二个。但这似乎是一种浪费。什么是让它工作的最佳方法。我很新,所以下一个问题对我来说似乎很愚蠢!但是我不能只创建 12 个 flash 文件并导入它们并将它们安排在一个项目中吗?