15

UIWebView と MPMoviePlayerController に問題があります。私の UIWebView には html 内にムービーがあり (これはローカルの html ファイルです)、ビデオに html5 とビデオ タグを使用しています。問題は、ユーザーがビデオをインラインで再生するように HTML で直接設定するか、フルスクリーン ボタンをタップできることですが、ビデオがフルスクリーンで再生されているかどうかを知る必要があります。

MPMoviePlayerDidEnterFullscreenNotification を使用しようとしましたが、成功しませんでした。

この通知を webview から取得する方法を知っている人はいますか?

前もって感謝します

4

4 に答える 4

15

通知は送信されません (この記事も参照してください: Event on view displayed change (Youtube MPMoviePlayerViewController) )。ただし、Web ビューはハック的なことを行います。ルートUIViewController'sビューにサブビューを追加し、全画面表示にしてムービーを再生します。そこの。

メインUIViewController'sビューを独自のビューにし、 と をインターセプト-didAddSubview:-willRemoveSubview:ます。これにより、プレーヤーがフルスクリーンになったことを検出できます。

于 2010-10-04T16:26:06.023 に答える
4

メインビューにタグを付けてUIViewを拡張することもできます(または、メインビューを所有している場合は、以下のメソッドを実装します)。

@implementation UIView (UIViewExtended)
- (void)didAddSubview:(UIView *)subview {
   if (subview.superview.tag == ... ) {
... set some flag here or do some action
   }
}

- (void)willRemoveSubview:(UIView *)subview {
   if (subview.superview.tag == ... ) {
... set some flag here or do some action
   }
}
@end
于 2010-11-04T13:20:36.790 に答える
2

HTML を使用して Web ビューにムービーを埋め込む場合は、MPMoviePlayer クラスではなく Javascript を使用してムービーをアドレス指定する必要があります。

ここで、Apple の Quicktime 用スクリプト作成ガイドをご覧ください。

あなたが必要とするプロパティはGetRectangle()、埋め込み領域内の映画の場所と寸法の文字列を返すものだと思います。

ディメンションを取得したら、それを Javascript から Objective-C に戻すことができます。

于 2010-04-27T15:22:58.480 に答える