Flash Builder 4を使用していて、キューポイントで動作するVideoDisplayコンポーネントが必要です。FlexのVideoDisplayが基づいているOSMFクラスの新しいバージョンは、これをすでに処理しています。アイデアは、既存のコンポーネントにモンキーパッチを適用するのではなく、独自のVideoDisplayコンポーネントをロールすることです。これを行うために、新しいバージョンのOSMFクラスを使用してプロジェクトを作成し、別のパッケージ名で新しいVideoDisplayをビルドするための別のプロジェクトを作成しました。
問題は、Flex 4.1 SDKには元のパッケージ名を持つOSMFクラスの大部分が含まれているため、次のimport org.osmf.media.MediaPlayer;
場所にあるクラスを参照するなどのステートメントがあることです。
C:\ Program Files \ Adobe \ Adobe Flash Builder 4 \ sdks \ 4.1.0 \ frameworks \ projects
新しいバージョンのOSMFのMediaPlayerクラスではありません。
OSMFプロジェクトのパッケージの名前を明確に変更しようとしましたが、IDEから例外が発生しました(前提条件のチェック中に予期しない例外が発生しました。詳細については、エラーログを参照してください)。
SDKは常に(当然のことながら)戦いに勝ちますか?同じ名前のSDKクラスよりもswc/プロジェクトへの参照をプロジェクトに優先させる(汚い?)方法はありますか?
どんな提案も歓迎します。
編集:コメントを考えると、私はどうやら私の問題を説明するのに貧弱な仕事をしました。だからここで再び行きます。
Flexは、VideoPlayerに古いバージョンのOSMFプラットフォームを使用しています。キューポイントのサポートを含む新しいバージョンを使用する必要があります。新しいOSMFソースをダウンロードしましたが、それは独自のプロジェクトにあります。将来の保守性のために、このプロジェクトのパッケージの名前を変更する必要はありません。
私が実装するVideoPlayerは、FlexSDKまたはOSMFのパッケージ名を複製しない2番目のプロジェクトにあります。競合はFlexSDKとOSMFの間であり、私が構築するクラスとOSFMまたはSDKの間ではありません。私のプロジェクトは、パッケージ/クラス名の名前を持つFlex SDKのクラスではなく、OSMFプロジェクトのクラスにアクセスする必要があります。Flex SDKはOSMFに基づいているため、Flexはパッケージを残し、名前空間はそのまま識別されます。したがって、名前のあいまいさがあります。