0

我一直在尝试播放使用http://www.mirovideoconverter.com/转换为 mp4 文件的视频,它在模拟器上运行良好,但在 ipad 上我看不到视频。

我该如何解决?

附上视频代码:

    package com.view.generic
{


import com.constants.Dimentions;

    import com.view.AbstractScreen;
    import com.view.IScreen;
    import com.view.gui.Btn;

    import flash.errors.IOError;
    import flash.events.IOErrorEvent;
    import flash.events.MouseEvent;
    import flash.events.NetStatusEvent;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;

    import org.osflash.signals.natives.NativeSignal;

    public class VideoMode extends AbstractScreen implements IScreen
    {
        private var _player:Video;
        private var _stream:NetStream;
        public function VideoMode()
        {

        }
        override public function start():void{
            super.start();
            var conn:NetConnection = new NetConnection();
            conn.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler)
            conn.addEventListener(IOErrorEvent.NETWORK_ERROR, netStatusError)
            conn.connect(null);
            layoutPlayer();
            layoutMenu();

        }

        override public function stop():void{
            _stream.pause();
        }



        private function layoutMenu():void{
            var playBtn:Btn = new Btn("video_play_button.png");
            addChild(playBtn);
            playBtn.x = (Dimentions.HEIGHT -playBtn.width)/2;
            playBtn.y = _player.y+_player.height+20;
            var clickSignal:NativeSignal = new NativeSignal(playBtn,MouseEvent.CLICK);
            clickSignal.add(play);

            var fullScrBtn:Btn = new Btn("full_screen.png");
            addChild(fullScrBtn);
            fullScrBtn.x = _player.width -fullScrBtn.width+_player.x;;
            fullScrBtn.y = _player.y+_player.height+20;
            var fullScrSignal:NativeSignal = new NativeSignal(fullScrBtn,MouseEvent.CLICK);
            fullScrSignal.add(goFullScreen);
        }

        private function layoutPlayer():void{
            _player.width = 400;
            _player.height = 300;
            _player.x = (Dimentions.HEIGHT -_player.width)/2;
            _player.y = 200;
            _stream.play("../../../assets/drum_ny.flv");
            _stream.pause();

        }

        private function goFullScreen(e:MouseEvent):void{
            if(_player.x == 0){
                layoutPlayer()
            }else{
                _player.x = 0;
                _player.y = 0;
                _player.width = stage.fullScreenWidth;
                _player.height = stage.fullScreenHeight;
            }

        }
        private function play(e:MouseEvent):void{
            _stream.resume()
        }

        private function netStatusHandler(e:NetStatusEvent):void{
            if(e.info.code=="NetConnection.Connect.Success"){
                _stream = new NetStream(NetConnection(e.target));
                _stream.client = this;
                _player = new Video();
                addChild(_player);

                _player.attachNetStream(_stream)

            }
        }
        private function netStatusError(e:IOError):void{
            trace(e)
        }

        override public function destroy():void{

        }
        public function onMetaData(info:Object):void {

        }

    }
}

谢谢!

4

2 回答 2

2

这可能是您的问题:

 _stream.play("../../../assets/drum_ny.flv");

一旦您将应用程序编译为 .ipa 文件,该文件就不存在了。尝试将其更改为您可以将其上传到的某个网址,如果它有效,那么这就是您的问题。

于 2011-07-24T15:25:08.273 回答
-2

通过替换 FLV 文件解决了该问题,但是我仍然不确定为什么一个 flv 文件有效而另一个无效。

如果您遇到这样的问题(视频在模拟器上工作,但在设备上不工作),您的第一个赌注应该是更换视频源。

于 2011-07-25T13:22:15.423 回答