2012-05-30 3 views
5

WebView에서 비디오 파일을 재생할 수 있지만 비디오는 사용자 개입없이 자동으로 재생됩니다. 그래서 지금은 그것을 달성하기 위해 다른 접근 방식을 따르고 있습니다.UIWebView에서 재생하려면 로컬 비디오 파일을 Html로 포함하는 방법은 무엇입니까?

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

이렇게하면 인터넷에서 비디오 파일을 재생할 수 있습니다. 하지만 로컬 메모리에서 파일을 재생하고 싶습니다.

로컬 파일 경로 변수를 전달하려고 시도하더라도 비디오를 재생할 수 없습니다. 누구든지 내 로컬 파일을 html에 삽입하여 인터넷 비디오처럼 webview에서 재생할 수있는 방법을 말해 줄 수 있습니까?

사례 1 : 비디오가 자동으로 WebView에서 재생되지만 재생 버튼은 여전히 ​​상단에 있습니다. 사례 2 : 온라인 동영상 URL이 위와 같이 삽입되어 동영상을 재생할 수 있습니다. 하지만 온라인 비디오 URL 대신 로컬 비디오 파일 경로를 전달하고 싶습니다.

+0

여기 내 [대답] [1]을보십시오. 희망이 있습니다. [1] : HTTP : //stackoverflow.com/questions/6759818/embed-video-in-html-file-loaded-in-uiwebview-from-documents-folder-of-applicatio/6964742#6964742 –

답변

2

UIWebView를 사용하는 경우 로컬 메모리에서 파일을 실행할 수 없습니다. 비디오를 자동으로 재생하지 않으려면 HTML 파일에 코드를 입력해야합니다 (사용자가 직접 표시하는 HTML 파일이 사용자의 것으로 가정합니다). 비디오의 자동 재생을 비활성화하십시오. 당신이, 당신이이 같은 해당 경로에 도달 할 수 있습니다 응용 프로그램의 번들로 .MP4 또는 호환 가능한 다른 비디오를 추가 한 경우

<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

아니, 너는 나를 착각했다. 먼저 비디오를 자동으로 재생하는 WebView 만 사용해 보았습니다. 그런 다음 Html을 사용할 계획이었습니다. – Perseus

+0

WebView에서 비디오를 재생하고 싶습니다. 사용자가 재생 단추를 클릭 한 후에도 비디오가 재생되기 시작해야합니다. – Perseus

+0

UIWebView에서 실행중인 URL/html 파일이 귀하의 것이 아니라면 viewDidLoad 섹션에 코드를 추가하여 자동 재생을 사용 중지하십시오. 로컬 파일을 재생하려면 자체 HTML 파일을 만들고 내부적으로 설정을 구성해야합니다. 웹 페이지에 vid를 표시하려는 경우 UIWebView가 html 파일을 사용해야하므로 (HTML 권장 사용) "HTML 사용 계획"과 관련이 없습니다. –

1

을 수행하는

당신이 객체를 사용하는 경우, 다음은 샘플 코드입니다;

[[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에 넣을 수 있습니다. 하지만 그것은 아이폰의 기본 비디오 플레이어에서 나는 생각합니다 .. 행운을 빌어 요.

+0

이미 UIWebView에서 비디오를 재생할 수 있습니다. 내 업데이트 질문 확인하기 – Perseus

관련 문제