0

私はOSMFが初めてです。今のところ、デスクトップ上の AIR を対象とする既存の Flex プロジェクトで使用しようとしています (このプロジェクトは今まで spark ビデオ プレーヤーを使用していました)。

この例を取り上げました: http://jodieorourke.com/view.php?id=150&blog=news

ただし、ローカル パスを使用してビデオ ファイルを読み込もうとすると、機能しません。

flash.filesystem.File.resolvePath() を使用してから「app:/(...)」パスを取得すると、実行時に以下の行でクラッシュします。おそらく「mediaFactory.createMediaElement()」メソッドがこのパスを理解してください:

    protected function playMedia():void
    {
        if( _mediaPlayer )
        {
            if( _element )
            {
                if( _container.containsMediaElement( _element ) )
                {
                    _container.removeMediaElement( _element );
                }
            }
            _element = _mediaFactory.createMediaElement( new URLResource( _source ) );
            _mediaPlayer.media = _element;
            _container.addMediaElement( _element ); // crash on this line
        }
    }

「file:///c:/blablabla/bla/bla.flv」のような絶対パスを使用しようとすると、白い画面と次のトレースが表示されます。

*** Security Sandbox Violation ***
Connection to 'file:///c:/blablabla/bla/bla.flv halted - not permitted from app:/blabla.swf

だから、私は疑問に思っています.OSMFを使用してローカルビデオファイルを読み込んで再生することは可能ですか?

はいの場合、私は何を間違えましたか?

4

1 に答える 1

0

おっと、実際には、次のように動作するようです。

var myFilePath:String = File.applicationDirectory.nativePath + "/" + myFileName;
mediaFactory.createMediaElement( new URLResource( myFilePath ));

つまり、OSMF はローカル ファイルを読み取ることができます ^^!

于 2013-01-26T12:23:08.117 に答える