Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 NetStream信息返回0';s(冰铸溪)_Actionscript 3_Null_Adobe_Icecast - Fatal编程技术网

Actionscript 3 NetStream信息返回0';s(冰铸溪)

Actionscript 3 NetStream信息返回0';s(冰铸溪),actionscript-3,null,adobe,icecast,Actionscript 3,Null,Adobe,Icecast,我已到处搜索此问题的修复程序,但找不到有关几乎所有属性都返回为0的原因的任何信息 我正在使用FLV包装从Icecast中提取实时音频流(15年后,Adobe仍未修复其实时音频内存泄漏问题)。它工作得很好,所有功能都很完美 然而,我想创建一个带宽监视器(用于我的iPhone端口和普通的Flash播放器)。。。但每当我检索到netStreamInfo时,它就会返回0!对于dataBytesPerSecond,audioBytesPerSecond,字节数,dataByteCount,几乎每个属性都返

我已到处搜索此问题的修复程序,但找不到有关几乎所有属性都返回为0的原因的任何信息

我正在使用FLV包装从Icecast中提取实时音频流(15年后,Adobe仍未修复其实时音频内存泄漏问题)。它工作得很好,所有功能都很完美

然而,我想创建一个带宽监视器(用于我的iPhone端口和普通的Flash播放器)。。。但每当我检索到
netStreamInfo
时,它就会返回
0
!对于
dataBytesPerSecond
audioBytesPerSecond
字节数
dataByteCount
,几乎每个属性都返回
0
。我用1秒的时间运行这个

以下是总信息输出:

currentBytesPerSecond=0 
byteCount=0 
maxBytesPerSecond=0 
audioBytesPerSecond=0 
audioByteCount=0 
videoBytesPerSecond=0 
videoByteCount=0 
dataBytesPerSecond=0
dataByteCount=0 
playbackBytesPerSecond=16296.296296296296 
droppedFrames=0 
audioBufferLength=0.072
videoBufferLength=0 
dataBufferLength=0 
audioBufferByteLength=1540 
videoBufferByteLength=0
dataBufferByteLength=0 
srtt=0 
audioLossRate=0 
videoLossRate=0 Data Bytes Per Second
输出时间大约为5分钟。我注意到,
playbackytespersecond
从未改变,而
audiobufferbytellength
喜欢在1540和23xx之间随机切换

有人能帮我吗

我的行动脚本:

package
{
    import flash.display.Sprite;
    import flash.net.NetConnection;
    import flash.net.NetStream;
    import flash.media.Video;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextField;
    import flash.events.Event;
    import flash.events.TimerEvent;
    import flash.events.NetStatusEvent;
    import flash.utils.Timer;
    import flash.media.Sound;
    import flash.net.URLRequest;
    import flash.media.SoundChannel;
    import flash.media.SoundMixer;
    import flash.media.SoundTransform;
    import flash.display.Loader;
    import flash.errors.IOError;
    import flash.events.MouseEvent;
    import flash.geom.Rectangle;
    import flash.net.NetStreamInfo;
    import flash.utils.ByteArray;
    import flash.media.*

    public class soundContainer extends Sprite
    {
        public var slider:SliderMC = new SliderMC();
        private var _video:Video;
        private var _stream:NetStream;
        private var _playbackTime:TextField;
        private var _duration:uint;
        private var _timer:Timer;
        private var _soundChannel:SoundChannel;
        public var audioTransform:SoundTransform = new SoundTransform();
        public var _URL:String;
        public var flvUrl:String = "s";
        public var dragging:Boolean = false;
        public var rectangle:Rectangle = new Rectangle(0,0,100,0);
        private var ba:ByteArray;
        private var bn;


        public function soundContainer() {

            addEventListener(Event.ADDED_TO_STAGE, init);
        }

        public function init(e:Event):void
        {

            ba = new ByteArray();

            slider.x = 73.85;
            slider.y = 10.95;
            addChild(slider);

            slider.slider_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragIt);
            stage.addEventListener(MouseEvent.MOUSE_UP, dropIt);


            _timer = new Timer(1000);
            _timer.addEventListener(TimerEvent.TIMER, onTimer);
            _timer.start();


        }

        public function dragIt(e:MouseEvent):void
        {
            slider.slider_mc.startDrag(false, rectangle);
            dragging = true;
            slider.slider_mc.addEventListener(Event.ENTER_FRAME, adjustVolume);
        }

        public function dropIt(e:MouseEvent = null):void
        {
            if (dragging)
            {
                slider.slider_mc.stopDrag();
                dragging = false;
            }
        }

        public function adjustVolume(e:Event):void
        {
            var vol:Number = slider.slider_mc.x / 100;
            var st:SoundTransform = new SoundTransform(vol);
            SoundMixer.soundTransform = st;

        }

        public function playMyFlv(flvUrl)
        {
            _URL = flvUrl;
            _video = new Video();

            var connection:NetConnection = new NetConnection();
            connection.connect(null);

            _stream = new NetStream(connection);
            _stream.soundTransform = audioTransform;
            _stream.play(flvUrl);

            var Client:Object = new Object();
            _stream.client = Client;
            _video.attachNetStream(_stream);

            addChild(_video);

        }



        public function stopMyFlv()
        {
            SoundMixer.stopAll();
            trace("stop");
            try
            {
                _stream.close();
            }
            catch (error:IOError)
            {
            }

        }




        private function onNetStatus(e:NetStatusEvent)
        {

        }

        private function onTimer(t:TimerEvent):Number
        {
            trace(_stream.info + " Data Bytes Per Second");
        }


        public function onIOError(e:IOError)
        {
            trace("Failed to load");
        }
    }
}

iOS不支持Netstream.info属性。iOS不支持Netstream.info属性