5

WebViewでビデオファイルを再生できますが、ユーザーの操作なしでビデオが自動的に再生されます。だから今、私はそれを達成するために異なるアプローチに従っています。

    NSString* embedHTML = @"\
        <html><head>\
        <style type=\"text/css\">\
        body {\
        background-color: transparent;\
        color: white;\
        }\
        </style>\
        </head><body style=\"margin:0\">\
        <embed id=\"yt\" src=\"http://www.businessfactors.de/bfcms/images/stories/videos/defaultscreenvideos.mp4\" type=\"application/x-shockwave-mp4\" \
        width=\"%0.0f\" height=\"%0.0f\"></embed>\
        </body></html>";


 _webView = [[UIWebView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 412.0)];

    [_webView setOpaque:NO];
    NSString *html = [NSString stringWithFormat:embedHTML, _webView.frame.size.width, _webView.frame.size.height];
    [_webView loadHTMLString:html baseURL:nil];

このようにして、インターネットからビデオファイルを再生できます。しかし、ローカルメモリからファイルを再生したいと思います。

ローカルファイルパス変数を渡そうとしても、ビデオを再生できません。インターネットビデオのようにWebビューで再生できるように、ローカルファイルをhtmlに埋め込む方法を教えてもらえますか?

ケース1:ビデオはWebViewで自動的に再生されますが、再生ボタンはまだ上にあります。ケース2:上記のようにオンラインビデオURLが埋め込まれ、ビデオを再生できます。しかし、オンラインビデオのURLではなくローカルビデオファイルのパスを渡したい

4

2 に答える 2

2

UIWebView を使用している場合、ローカル メモリからファイルを実行することはできません。ビデオを自動的に再生したくない場合は、HTML ファイルにコードを入力して (表示している HTML ファイルが独自のものであると想定しています)、ビデオの自動再生を無効にする必要があります。

オブジェクトを使用している場合は、次のサンプル コードを参照してください。

<object width="160" height="144">
<param name="autoplay" value="false">

<embed src="sample.mov" width="160" height="144"
autoplay="false" controller="false"
</embed>

</object> 
于 2012-05-30T09:59:56.420 に答える
1

.mp4 または互換性のある他のビデオをアプリケーションのバンドルに追加した場合、次のようにそのパスに到達できます。

[[NSBundle mainBundle] pathForResource:@"blalba" ofType:@"mp4"];

URL文字列を提供します。

ビデオがバンドルにない場合、バンドルからコピーしたか、インターネットからダウンロードしたかのいずれかで、次のようなディレクトリを取得できます。

NSString *documentdir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *tileDirectory = [documentdir stringByAppendingPathComponent:@"xxxx/Tiles"];
NSLog(@"Tile Directory: %@", tileDirectory);

動画の URL を取得したら、それを WebView に配置できます。しかし、それはiPhoneのデフォルトのビデオプレーヤーで再生されると思います..頑張ってください..

于 2012-05-30T12:35:14.480 に答える