2012-06-20 2 views
0

Я на самом деле пытаюсь воспроизвести локальное видео в UIWebView с HTLM5.Воспроизведение встроенного видео в UIWebView с HTML5

Что я на самом деле это:

NSString *embedHTML = [NSString stringWithFormat:@"\ 
<html><head>\ 
<style type=\"text/css\">\ 
body {\ 
background-color: transparent;\ 
color: white;\ 
}\ 
</style>\ 
</head><body style=\"margin:0\">\ 
< src=\"%@\" \ 
</embed>\ 
</body></html>", [[NSBundle mainBundle] pathForResource:@"ash(1).mov" ofType:nil]]; 



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

У меня на раскадровке в UIWebView имя WebView с слабым/неатомического свойством

@property (weak, nonatomic) IBOutlet UIWebView *webView; 

Когда я запустить приложение, ничего не произойдет: экран все еще белый и видео не воспроизводится.

ответ

0

Используйте это:

NSString *embedHTML = [NSString stringWithFormat:@"<html><style></style></head><body><video src=\"%@ controls autoplay height=\"400 width=\"320></video><ul></body></html>", [[NSBundle mainBundle] pathForResource:@"ash(1)" ofType:@"mov"]]; 

[webView setOpaque:NO]; 
//NSString *html = [NSString stringWithFormat:embedHTML, webView.frame.size.width, webView.frame.size.height]; 
NSURL *url = [NSURL URLWithString:[[NSBundle mainBundle] pathForResource:@"ash(1)" ofType:@"mov"]]; 
[webView loadHTMLString:embedHTML baseURL:url]; 

Обратитесь более this к тому, как воспроизводить видео с помощью HTML5

+0

Код выше делает точно то же самое, что я сделал , просто отображая белый экран :(Я уже видел ссылку, и она действительно полезна для самого HTML5, но не для ее использования через UIWebView. – Edelweiss

+0

проверить отредактированный ответ и ваш [[NSBundle mainBundle] pathForResource: @ "ash (1)" ofType: @ "mov"] верен –

+0

Ничего не изменилось :(И да, путь для видео - valide, я проверил его с помощью 'NSLog (@"% @ @ ", [[NSBundle mainBundle] pathForResource: @" ash (1) "ofType: @" mov "]);' и он вернул '2012-06-20 12: 47: 10.620 testVideoUIWebView [5440: 707]/var/mobile/Applications/EC8114CF-C55C-4062-B7C5-25FA9DDFC9F0/testVideoUIWebView.app/ash (1) .mov' – Edelweiss

0

просто изменить базовый URL, как

NSString *videoPath =[[NSBundle mainBundle] pathForResource:@"xxx" ofType:@"mov"]; 

NSString *htmlString=[NSString stringWithFormat:@"<body> <video src=\"%@\" controls autoplay height=\"400\" width=\"300\" > </video> </body>", videoPath]; 

NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]; 
[xwebview loadHTMLString:htmlString baseURL:baseURL]; 
Смежные вопросы