前言
如果要直接launch YouTube app來播放, 那需要URL scheme: youtube://
http://www.youtube.com/v/VIDEO_IDENTIFIER
http://www.youtube.com/watch?v=VIDEO_IDENTIFIER
實作
原理就是用webview 的loadHTMLString 方法來讀取我們assign好的HTML內容.
廢話不說, 直接上code!
webplayer = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)]; webplayer.scalesPageToFit = YES; webplayer.delegate = self; [self.view addSubview:webplayer]; NSString *videoURL = [NSString stringWithFormat:@"http://www.youtube.com/embed/%@", youtubeID]; NSString *videoHTML = [NSString stringWithFormat:@"\ \ \ \ \ \ \ \ ", videoURL]; [webplayer loadHTMLString:videoHTML baseURL:nil]; webplayer.backgroundColor = [UIColor blackColor]; webplayer.opaque = NO;
重點一
如果是使用xib來製作webplayer 那可以直接把delegate給定
不然就是在.m
webplayer.delegate = self;
以及在.h 加上
@interface webPlayerViewController : UIViewController <UIWebViewDelegate>
重點二
videoURL 是 http://www.youtube.com/embed/(youtubeID)
不是一般網址
https://www.youtube.com/watch?v=b1aHBlaC0de
也不是分享用的縮址
http://youtu.be/b1aHBlaC0de
舊版的嵌入網址也不適用
www.youtube.com/v/b1aHBlaC0de?version=3&hl=zh_TW&rel=0
最後重點
HTML 樣式的調整, 可以觀察一下NSString中一些跳脫字元的使用方式.
另外, 我們可以加上一個按鈕來關閉這頁.
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(onClickedDone:)]; self.navigationItem.rightBarButtonItem = doneButton; [doneButton release]; - (void)onClickedDone:(id)sender { [webplayer release]; webplayer = nil; //popViewController or dismissViewController }
Sent from Evernote |
沒有留言:
張貼留言