2012-05-30 40 views
5

Tôi có thể phát các tệp video trong WebView nhưng các video đang phát tự động mà không có sự tương tác của người dùng. Vì vậy, bây giờ tôi đang theo cách tiếp cận khác nhau để đạt được điều đó.Làm thế nào để nhúng một tệp video cục bộ vào Html để phát trong UIWebView?

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]; 

Bằng cách này, tôi có thể phát tệp video từ internet. Nhưng tôi muốn phát các tập tin từ bộ nhớ cục bộ.

Thậm chí nếu cố gắng chuyển biến đường dẫn tệp cục bộ, video không thể phát. Bất cứ ai có thể cho tôi biết làm thế nào để nhúng tập tin địa phương của tôi vào html để tôi có thể chơi trong webview giống như video internet?

TRƯỜNG HỢP 1: Video tự động phát trong WebView nhưng nút phát vẫn ở trên cùng. TRƯỜNG HỢP 2: URL video trực tuyến được nhúng như minh họa ở trên và có thể phát video. Nhưng tôi muốn chuyển đường dẫn tệp video cục bộ thay vì url video trực tuyến

+0

Vui lòng xem [answer] [1] của tôi tại đây. Hy vọng điều đó sẽ hữu ích. [1]: http: //stackoverflow.com/questions/6759818/embed-video-in-html-file-loaded-in-uiwebview-from-documents-folder-of-applicatio/6964742#6964742 –

Trả lời

2

bạn không thể chạy tệp từ bộ nhớ cục bộ nếu bạn đang sử dụng UIWebView. Nếu bạn muốn video của mình không phát tự động, bạn phải nhập mã vào tệp HTML của mình (tôi giả sử các tệp HTML bạn đang hiển thị là của riêng bạn) để tắt tự động phát cho video.

Nếu bạn đang sử dụng đối tượng, đây là một mẫu mã để bạn có thể làm theo

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

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

</object> 
+0

Không. Bạn đã nhầm lẫn tôi. Trước tiên, tôi đã thử chỉ với WebView đang phát video tự động. Sau đó, tôi dự định sử dụng Html – Perseus

+0

Tôi muốn phát video trong WebView và quá video sẽ bắt đầu phát sau khi người dùng nhấp vào nút phát. – Perseus

+0

nếu URL/tệp html bạn đang chạy trên UIWebView không phải của bạn, thì bạn có thêm mã trong phần viewDidLoad để tắt tự động phát. Nếu bạn muốn phát tệp cục bộ, bạn phải tạo tệp HTML của riêng mình và định cấu hình cài đặt nội bộ. Không quá chắc chắn bởi những gì bạn có nghĩa là với "dự định sử dụng HTML" kể từ UIWebView của bạn nên được sử dụng một tập tin html (khuyến khích) nếu bạn đang có kế hoạch để hiển thị vid trên một trang web. –

1

nếu bạn thêm .mp4 hoặc tương thích định dạng video khác để bó của ứng dụng, bạn có thể đạt được con đường của nó như thế này;

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

nó cung cấp cho bạn chuỗi url.

Nếu video của bạn không nằm trong gói của bạn, được sao chép từ gói hoặc tải xuống từ internet, bạn có thể nhận được thư mục như thế này;

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

Sau khi nhận url của video, bạn có thể đưa nó vào WebView của mình. Nhưng nó sẽ chơi trong Trình xem video mặc định của iphone tôi nghĩ .. chúc may mắn ..

+0

Tôi có thể phát video trong UIWebView rồi. Vui lòng kiểm tra câu hỏi cập nhật của tôi ngay bây giờ – Perseus

Các vấn đề liên quan