我很新到Flash和ActionScript。 我想简单地播放FLV文件。 我有以下几点:
import flash.MovieClip;
import flash.Video;
import flash.NetConnection;
import flash.NetStream;
class Program {
private var container_mc : MovieClip;
private var video_mc : Video;
public function new() {
var mc : flash.MovieClip = flash.Lib.current;
container_mc = flash.Lib._root.attachMovie("VideoContainer", "container_mc", 0);
container_mc.attachMovie("VideoClip", "video_mc", 1);
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
trace(my_nc.isConnected);
var my_ns:NetStream = new NetStream(my_nc);
//my_ns.setBufferTime(1);
container_mc.video_mc.attachVideo(my_ns);
my_ns.play("default.flv");
trace("Done");
}
public static function main()
{
new Program();
}
}
我得到的“完成”跟踪消息回来,但没有视频播放。 我简单的在浏览器窗口中的黑盒子。 有人可以帮我吗? 万分感谢!
-缺口
你应该仔细检查,以确保您在库中有两个影片剪辑有,你试图附加联动的ID。
你需要两个:
VideoContainer
VideoClip
我希望..代码波纹管.. ..将很好地工作..
我用的是休耕.. preBuildCommand ..到我的项目.. FAG EXPLORER FLV.fdp
<preBuildCommand>"$(ToolsDir)\swfmill\swfmill.exe" simple "library/video.xml"
“库/ video.swf”
未完待续
FAG =自由的学术游戏
当我用线
<preBuildCommand>"$(ToolsDir)\swfmill\swfmill.exe" simple "library/video.xml"
“库/ video.swf”
然后
该项目必须包含以下行
<library>
<asset path="Library\video.swf" />
</library>
观察:
swfmill.exe .. ..创建文件.. video.swf ..到..目录库
(库.. ..被放在旁边的项目文件)
swfmill.exe使用文件.. video.xml ..创建..文件.. video.swf
该文件的代码.. video.swf ..是
<?xml version="1.0" encoding="utf-8" ?>
<movie version="7">
<frame>
<library>
<clip id="VideoDisplay">
<frame>
<video id="VideoSurface" width="854" height="480"/>
<place id="VideoSurface" name="video"/>
</frame>
</clip>
</library>
</frame>
</movie>
未完待续
import util.VideoDisplay;
class util.Instances
{
function Instances() {
// _root.Fdisplay_MC
_root.createEmptyMovieClip ("Fdisplay_MC", _root.getNextHighestDepth());
_root.Fdisplay_MC._alpha = 50;
//
var
Fdisplay:VideoDisplay = new VideoDisplay(null, _root.Fdisplay_MC, "Fdisplay", 1);
_root.Fdisplay = Fdisplay; _root.Fdisplay._x = 5; _root.Fdisplay._y = 0;
_root.Fdisplay.setVolume(100);
//
_root.Fdisplay_MC.onPress = function()
{
if (_root.b_pause) _root.b_pause = 0 else _root.b_pause = 1;
_root.Fdisplay.pause();
}// _root.Fdisplay_MC.onPress = function()
}// function Instances() {
}// class util.Instances
To be continued
/ ** *初始代码是从http://www.flashdevelop.org/community/viewtopic.php?t=321 *第3部分流FLV视频(的FlashDevelop / SWFMILL只)
I put the fallowing code into the initial class util.VideoDisplay
// attach audio
display.attachAudio(ns);
audio_sound = new Sound(display);
/**
* Get time in video
*/
public function pos():Number
{
return ns.time;
}
public function setVolume(vol:Number):Void
{
audio_sound.setVolume(vol);
}
private var audio_sound:Sound;
* /
class util.VideoDisplay
{
//{ PUBLIC MEMBERS
/**
*
* Create a new video display surface
*/
function VideoDisplay(targetURI:String, parent:MovieClip, name:String, depth:Number, initObj)
{
display = parent.attachMovie("VideoDisplay", name, depth, initObj);
// create video stream
nc = new NetConnection();
nc.connect(targetURI);
ns = new NetStream(nc);
// attach the video stream to the video object
display.video.attachVideo(ns);
// attach audio
display.attachAudio(ns);
audio_sound = new Sound(display);
} // VideoDisplay(targetURI:String, parent:MovieClip, name:String, depth:Number, initObj)
/**
* Video surface dimensions
*/
function setSize(width:Number, heigth:Number):Void
{
display.video._width = width;
display.video._height = heigth;
}
/**
* Video clip position
*/
function setLocation(x:Number, y:Number):Void
{
display._x = x;
display._y = y;
}
/**
* Start streaming
* @param url FLV file
* @param bufferTime Buffer size (optional)
*/
public function play(url:String, bufferTime:Number):Void
{
if (bufferTime != undefined) ns.setBufferTime(bufferTime);
ns.play(url);
}
/**
* Pause streaming
*/
public function pause():Void
{
ns.pause();
}
/**
* Seek position in video
*/
public function seek(offset:Number):Void
{
ns.seek(offset);
}
/**
* Get time in video
*/
public function pos():Number
{
return ns.time;
}
/**
* Close the video
*/
public function close():Void
{
ns.close();
}
public function setVolume(vol:Number):Void
{
audio_sound.setVolume(vol);
}
//}
//{ PRIVATE MEMBERS
private var display:MovieClip;
private var nc:NetConnection;
private var ns:NetStream;
private var audio_sound:Sound;
//}
}