OS X 10.7以降で実行している場合、QTMovieが編集可能になると、QTMovieViewコントローラーのカーソル領域が完全に黒くなります。そのため、表示されるカーソルはなく、選択は示されません。10.6.8以前で実行されている同じコードは正常に機能します。「編集可能」属性が設定されていない場合、カーソルは期待どおりに表示されます。
はい、私はAVFoundationを見てきましたが、QTが処理できるすべての形式を処理する必要があります。これは、AVFoundationがサポートするよりもはるかに多くの形式です。
コードに何かを導入していないことを確認するために、単純な編集可能なムービービューを設定するためのApple Devのドキュメントに従って、最初から始めました。結果は常に同じです。これが私がフォローしていた例です:
この例では、QTKitを使用した基本的なアプリケーションのセットアップ、ウィンドウにQTMovieViewを配置し、再生するムービーファイルをロードして、編集可能にする方法の概要を説明します。映画を編集可能にするために、私は次の例に従いました。
- (BOOL)readFromURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError **)outError
{
QTMovie *newMovie = [QTMovie movieWithURL:absoluteURL error:outError];
if (newMovie) {
[newMovie setAttribute:[NSNumber numberWithBool:YES] forKey:QTMovieEditableAttribute];
[self setMovie:newMovie];
}
return (newMovie != nil);
}
これをテストするために、行をコメントアウトするsetAttribute
とカーソルが表示されますが、もちろんビデオは編集できません。
私はこれを3.2.6から4.6までのXcode/Interface Builderバージョンで試しましたが、同じ結果になりました。10.6、10.7、10.8のSDKを試しました。10.6.8と10.6SDKで構築されたアプリは、10.7以降で実行されます。再生は問題ありませんが、コントローラーの問題が発生します。新しいSDKでビルドしても、これは変わりません。これは実行時の問題のようです。
エラーは報告されません。
他の誰かがこれを見たことがありますか?既知の回避策はありますか?私が思いついた唯一の可能な解決策は、カスタムコントローラーを構築することです。