2009-10-24 5 views
5

私はiPhone開発の初心者で、各セルがwebviewの形式でYouTubeビデオのサムネイルで構成されたUITableViewを含むアプリケーションの開発を開始しました。 iPhoneにYouTube Playerを埋め込むために、以下のコードを使用しました。私はtableviewcell上のサムネイルを見ることができると私はサムネイルをタップすると、YouTubeのプレイヤーが開き、ムービーを再生することをUITableViewCellでタップしたときのiPhoneアプリケーションのYouTubeムービーの再生方法

- (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で再生するムービーを作成する方法はありませんか?私はJavascriptを使用していくつかの亀裂を見たが、誰もこの問題のためにそれを使用する正しい方法についてのアイデアを持っていないようです。

誰かが助けることができれば非常に感謝しています。

+0

明らかに、あなたはYouTube動画の再生を制御する方法を知りたいですか?具体的には、クリックイベントのようなものを、再生中のコンテキスト外で作成する場合ですか? – Spoike

答えて

3

YouTube APIsをご覧になり、あなたの本当の問題点を特定してください。別の良いリンクはHow To Play YouTube Videos Within an Applicationです。私はあなたを助けてくれると願っています

+0

あなたの素早い返答のために、ネイサンさんに感謝します。実際に私はあなたが戻って数日を投稿したリンクを行ってきました。私はここで明確にしましょう。私はビデオを再生する際に問題はありません。私が必要とするのは、セル上の他の場所をタップするときに再生させることだけです。 YouTubeのAPIブログでさえ、誰もそれに答えてくれないようです。 – suranga

+0

@スランガ:あなたの質問を編集して、人々があなたの問題が何であるかを素早く知るようにする必要があります。 – Spoike

+0

@スランガ:その2番目のリンクをご覧ください。 –

0

それはおそらく最良の解決策ではないのですが、それは動作します:

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

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

mediaPlaybackRequiresUserActionDocumentation

から:

HTML5のビデオが を再生できるかどうか を決定するブール値自動的にまたはユーザーにを要求するそれらを再生し始める。

このソリューションの1つの問題は、UIWebViewをリロードする必要があることです。

関連する問題