0

ローカル ファイルをロードする spark videoDisplay コントロールを表示するだけの小さなアプリケーションをセットアップしました。Flex アプリケーションが Web アプリの場合、ビデオは Windows で AIR として正常に再生され、osx 経由のブラウザーでも正常に再生されますが、Mac で Flex AIR アプリケーションとして実行しようとすると、VideoDisplay が通過します。

  • MediaPlayerState.LOADING
  • MEdiaPlayerState.READY
  • MediaPlayerState.PLAYBACK_ERROR

何が起こっているのか、その再生エラーの理由についての手がかりが見つかりません。もちろん、ビデオ ファイルはすべての場合で同じです。

Flash builder 4 の Flex SDK 4.6 (AIR 3.1 に付属) を使用しています。

テストに使用しているコードは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>    
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"     
  xmlns:s="library://ns.adobe.com/flex/spark"     
  xmlns:mx="library://ns.adobe.com/flex/mx">

<fx:Script>    
<![CDATA[    
import org.osmf.events.MediaPlayerStateChangeEvent;    

protected function mediaPlayerStateChangeHandler(event:MediaPlayerStateChangeEvent):void    
{    
    trace(event.state);    
}


]]>

</fx:Script>

    <s:VideoDisplay width="100%" height="100%" source="/somepath/video.mp4"     
                    mediaPlayerStateChange="mediaPlayerStateChangeHandler(event)"/>

</s:WindowedApplication>
4

1 に答える 1

0

この問題は、この質問に記載されているものと同じでした: AIR: securityError on OSX (Windows ではなく) with URLStream() For some reason For some reason OSX の AIR はセキュリティ サンドボックスを使用しておらず、ビデオのソース ファイル パスは次のように指定する必要があります。 URL。

したがって、コードは次のようになります。

<s:VideoDisplay width="100%" height="100%" source="{new File('/somepath/video.mp4').url}"     
                mediaPlayerStateChange="mediaPlayerStateChangeHandler(event)"/>

そうすれば、osx と Windows で動作します。

于 2014-01-21T23:26:06.593 に答える