2009-10-24 2 views
5

저는 iPhone 개발의 초보자이며, 각 셀이 webviews 형태로 YouTube 비디오 축소판으로 구성된 UITableView를 포함하는 응용 프로그램을 개발하기 시작했습니다. iPhone에 YouTube 플레이어를 퍼가려면 다음 코드를 사용했습니다. 나는 tableviewcell에 썸네일을 볼 수 있고 내가 썸네일을 탭하면, YouTube 플레이어가 열리고 동영상을 재생하는 것이UITableViewCell에서 탭하면 iPhone 응용 프로그램에서 YouTube Movie를 재생하는 방법은 무엇입니까?

이제

- (void)embedYouTube:(NSString*)url frame:(CGRect)frame { 
NSString* embedHTML = @"\ 
    <html><head>\ 
<style type=\"text/css\">\ 
body {\ 
background-color: transparent;\ 
color: white;\ 
}\ 
</style>\ 
</head><body style=\"margin:0\">\ 
    <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \ 
width=\"%0.0f\" height=\"%0.0f\"></embed>\ 
    </body></html>"; 
NSString* html = [NSString stringWithFormat:embedHTML, url, frame.size.width, frame.size.height]; 
if(videoView == nil) { 
    videoView = [[UIWebView alloc] initWithFrame:frame]; 
    [self.view addSubview:videoView]; 
} 
[videoView loadHTMLString:html baseURL:nil]; 

}.

내 미리보기 이미지는 셀의 작은 부분 만 차지하고 셀의 나머지 영역에는 몇 가지 텍스트 설명이 포함되어 있습니다. 내 문제는 영화를 재생할 때 미리보기 이미지를 정확히 탭해야한다는 것입니다. 셀의 다른 곳을 탭하면 내 축소판이 셀 전체로 확장되지 않기 때문에 재생되지 않습니다.

didSelectRowAtIndexPath에서 동영상을 재생할 방법이 없습니까? 나는 자바 스크립트를 사용하여 몇 가지 챕스를 제안했지만 아무도이 문제에 대한 올바른 사용법에 대한 아이디어가없는 것 같습니다.

누구든지 도움을 주시면 대단히 감사하겠습니다.

+0

분명히 말하면 YouTube 동영상 재생을 제어하는 ​​방법을 알고 싶습니까? 더 구체적으로 재생중인 컨텍스트 외부에서 클릭 이벤트와 같은 것을 만들 때? – Spoike

답변

3

YouTube APIs을 살펴보고 실제 문제가 무엇인지 파악해 보시기 바랍니다. 다른 좋은 링크는 How To Play YouTube Videos Within an Application입니다. 나는 너를 돕고 싶다.

+0

빠른 답장을 보내 주신 네이선. 사실 나는 당신이 며칠 전 다시 게시 한 링크를 통과했다. 여기서 내가 명확히하자. 나는 비디오를 재생하는데 아무런 문제가 없다. 내가 필요한 것은 세포의 다른 곳을 가볍게 두드리면 연주하는 것입니다. YouTube API 블로그에서도 아무도 그렇게 대답하지 않은 것 같습니다. – suranga

+0

@ suuranga : 질문을 편집하여 사람들이 당신의 문제가 무엇인지 빨리 알 수 있도록해야합니다. – Spoike

+0

@ suuranga : 두 번째 링크를보세요. –

0

그것은 아마도 최선의 해결책은 아니지만 그것은 작동 :

를 결정하는 부울 값이 HTML5 비디오가 를 재생할 수 있는지 여부를 다음 Documentation

mediaPlaybackRequiresUserAction에서

//get your UIWebview in tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
//... 

videoView.mediaPlaybackRequiresUserAction = NO; 
[videoView loadHTMLString:[self generateHtmlEmbedYouTube] baseURL:nil]; 

자동으로 또는 사용자에게를 요구합니다.그들을 재생 시작하십시오.

이 솔루션에 대한 한 가지 문제는 UIWebView를 다시로드해야한다는 것입니다.

관련 문제