Youtube - iPhone - отображение UIWebView видео - PullRequest
2 голосов
/ 19 января 2011

У меня есть скрипт в моем приложении, который загружает ссылку на Youtube в разделе UIView, ссылка предоставляется моим сервером (mySQL / использующий php), и с этого он загружается ... Этот скрипт ниже работает нормально. .... однако ...

Вот то, что у меня есть сейчас, я искал, чтобы удалить программную часть (где она дает размеры и, возможно, заменить ее на UIWebView), чтобы я мог импровизировать, используя IB, это поможет, когда мое приложение запустится , происходит быстрая анимация, а затем я хочу, чтобы эта ссылка на YouTube загружалась и отображалась после завершения viewDidLoad.

.h файл:

- (void)embedYouTube:(NSString *)urlString frame:(CGRect)frame;

.m файл

//view did load function...

[self embedYouTube:youtubestring frame:CGRectMake(69,72,184,138)];

//after the view did load is closed I have..

- (void)embedYouTube:(NSString *)urlString 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, urlString, frame.size.width, frame.size.height];
UIWebView *videoView = [[UIWebView alloc] initWithFrame:frame];
[videoView loadHTMLString:html baseURL:nil];
[self.view addSubview:videoView];
[videoView release];
}

любая помощь будет принята с благодарностью! спасибо

Ответы [ 3 ]

7 голосов
/ 10 марта 2011

Это работает с использованием UIWebViews, созданных в IB:

Файл .h:

@property (nonatomic, retain) IBOutlet UIWebView *infoVideo1;

-(void)embedYouTubeInWebView:(NSString*)url theWebView: (UIWebView *)aWebView;

Файл .m:

в viewDidLoad:

[self embedYouTubeInWebView:youTubeString theWebView:infoVideo1];

Метод:

- (void)embedYouTubeInWebView:(NSString*)url theWebView:(UIWebView *)aWebView {     

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, aWebView.frame.size.width, aWebView.frame.size.height]; 

[aWebView loadHTMLString:html baseURL:nil];
}

Вы даже можете иметь несколько веб-представлений на одном экране.Надеюсь, это поможет.

1 голос
/ 19 января 2011

Aehm, у iPhone нет Flash.Этого никогда не было и, вероятно, никогда не будет.Единственный способ открыть YouTube видео на iPhone - это приложение YouTube, которое воспроизводит их в другом формате.Примером этого является [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.youtube.com /v/oHg5SJYRHA0&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM"]];
Более подробную информацию вы можете найти здесь: http://apiblog.youtube.com/2009/02/youtube-apis-iphone-cool-mobile-apps.html

0 голосов
/ 18 июля 2012

В iOS есть плагин для сафари, который воспроизводит видео на YouTube, если они встроены как flash.

Эта категория uiwebview, которую я собрал, будет вставлять видео для вас без необходимости покидать приложение или учебное пособие: -)

https://github.com/enigmaticflare/UIWebView-YouTube--iOS-Category--ARC-compliant-code

...