Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не воспроизводится звук из NetStream (http://www.flasher.ru/forum/showthread.php?t=188089)

XoJlToH 28.11.2012 20:17

Не воспроизводится звук из NetStream
 
Вложений: 1
Есть видео с вебки. Воспроизводится простым примером из Вовзы
На некоторых система звук не воспроизводится. Видео есть.
Столкнулся с таким на Windows Vista x32 + Opera + Любая версия плеера
На этой же машине нет звука в Standalone плеере
Есть звук в хроме с PepperFlash, но если не открыта Опера с другим экземпляром примера

Соорудил пример, который таким же образом соединяется, но отслеживает данные в NetStream. Скрин в аттаче. На входе звук есть, но плеер или система не воспроизводит звук. Уже голову сломал совсем.

С чем может быть связано такое поведение?

Код AS3:

package
{
 
        import flash.display.Sprite;
        import flash.events.MouseEvent;
        import flash.events.NetStatusEvent;
        import flash.media.Video;
        import flash.net.NetConnection;
        import flash.net.NetStream;
        import flash.text.TextFielSd;
 
        public class Main extends Sprite
        {
                private var nc:NetConnection = null;
                private var nsPlay:NetStream = null;
                private var connectStr:String
                private var videoRemote:Video;
 
                public function Main():void
                {
                        if (stage)
                                init();
                        else
                                addEventListener(Event.ADDED_TO_STAGE, init);
                }
 
                private function init(e:Event = null):void
                {
                        removeEventListener(Event.ADDED_TO_STAGE, init);
 
                        addChild(videoRemote);
 
                        output_tf = new TextField();
                        output_tf.width = stage.stageWidth - 20;
                        output_tf.height = 300;
                        output_tf.x = 10;
                        output_tf.y = videoRemote.y + videoRemote.height + 10;
                        output_tf.border = true;
                        addChild(output_tf);
 
                        stage.align = "TL";
                        stage.scaleMode = "noScale";
                        startCamera();
 
 
                }
 
                private function startCamera():void
                {
                        msg("start");
                        connectStr = "rtmp://localhost:1935/videochat"; //connect.connectStr.text = "rtmp://www.need-get.com:1935/videochat";
                        doConnect(null);
                }
 
                private function ncOnStatus(e:NetStatusEvent):void
                {
                        msg(e.info.code);
                        if (e.info.code == "NetConnection.Connect.Success")
                        {
                                subscribe(null);
                        }
                }
 
                private function doConnect(event:MouseEvent):void
                {
                        msg("do connect");
                        if (nc == null)
                        {
                                msg("connect " + connectStr);
                                nc = new NetConnection();
                                nc.connect(connectStr);
                                nc.addEventListener(NetStatusEvent.NET_STATUS, ncOnStatus);
 
                        }
                }
 
                private function nsPlayOnStatus(e:NetStatusEvent):void
                {
                        msg (e.toString());
                }
 
                private function subscribe(event:MouseEvent):void
                {
 
                        nsPlay = new NetStream(nc);
 
                        nsPlay.addEventListener(NetStatusEvent.NET_STATUS, nsPlayOnStatus);
                        nsPlay.addEventListener(AsyncErrorEvent.ASYNC_ERROR, nsPlay_asyncError);
                        nsPlay.addEventListener(IOErrorEvent.IO_ERROR, nsPlay_ioError);
                        nsPlay.addEventListener(IOErrorEvent.NETWORK_ERROR, nsPlay_ioError);
                        var nsPlayClientObj:Object = new Object();
                        nsPlay.client = nsPlayClientObj;
                        nsPlayClientObj.onMetaData = onMetaData;
 
                        nsPlay.bufferTime = 0;
 
                        nsPlay.play("testing");
                        //channel = nsPlay.play("testing");
                        videoRemote.attachNetStream(nsPlay);
 
 
                }
 
                private function nsPlay_ioError(e:IOErrorEvent):void
                {
                        msg(e.toString())
                }
 
                private function nsPlay_asyncError(e:AsyncErrorEvent):void
                {
                        msg(e.toString())
                }
 
                private function onMetaData(infoObject:Object):void
                {
                        for (var propName:String in infoObject)
                        {
                                msg("  " + propName + " = " + infoObject[propName]);
                        }
                }
 
                private function nsPublishOnStatus(infoObject:NetStatusEvent):void
                {
                }
 
                private function msg(str:String):void
                {
                        output_tf.appendText(str + "\n");
                }
        }
 
}



Часовой пояс GMT +4, время: 13:40.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.