Как воспроизвести видео с URL в iphone - PullRequest
2 голосов
/ 23 марта 2011

У меня есть видео в URL, При нажатии кнопки мне нужно воспроизвести видео, для этого я использовал UIWebView для воспроизведения этого видео, для этого я использовал следующий код:

-(void)viewDidLoad
{
   NSString *string = @"http://www.boxmusiq.com/ThiruvasakamVideo/VTS_01_2_converted.mp4";
   youtubeview = [[YouTubeView alloc] initWithStringAsURL:string frame:CGRectMake(0, 0, 320, 480)];
   NSLog(@"the url is: %@",string);
   [self.view addSubview:youtubeview];
}

иВ YouTubeView.m YouTubeView является подклассом UIWebView;

- (YouTubeView *)initWithStringAsURL:(NSString *)urlString frame:(CGRect)frame;
{
 if (self = [super init]) 
 {
               // Create webview with requested frame size
   self = [[UIWebView alloc] initWithFrame:frame];

               // HTML to embed YouTube video
   NSString *youTubeVideoHTML = @"<html><head>\
                         <body style=\"margin:0\">\
                         <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
                         width=\"%0.0f\" height=\"%0.0f\"></embed>\
                         </body></html>";

   // Populate HTML with the URL and requested frame size
   NSString *html = [NSString stringWithFormat:youTubeVideoHTML, urlString, frame.size.width, frame.size.height];

   // Load the html into the webview
   [self loadHTMLString:html baseURL:nil];
       }

 return self;  

}

Ответы [ 4 ]

7 голосов
/ 29 марта 2012

Просто попробуйте следующий код

MPMoviePlayerController *theMoviPlayer;
NSURL *urlString=[NSURL URLWithString:@"http://www.boxmusiq.com/ThiruvasakamVideo/VTS_01_2_converted.mp4"];
theMoviPlayer = [[MPMoviePlayerController alloc] initWithContentURL:urlString];
theMoviPlayer.scalingMode = MPMovieScalingModeFill;
theMoviPlayer.view.frame = CGRectMake(0, 60, 320, 350);
[self.view addSubview:theMoviPlayer.view];
[self.theMoviPlayer play];

Примечание. Добавьте Mediaplayer FrameKit и импортируйте его в свой класс

1 голос
/ 20 марта 2013

В .h файле

UIWebView *videoView;

В .m файле

    videoView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 385)];

    [self embedYouTube :urlStr  frame:CGRectMake(0, 0, 320, 385)];

    [self.view addSubview:videoView];

    // methos to embed URL in HTML & load it to UIWebView

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

}

** Примечание. Видео UIWebView для YouTube не загружается, когда вы запускаете его на симуляторе, отлично работает на устройстве.

0 голосов
/ 23 марта 2011

Если вы хотите воспроизводить видео с URL-адреса, вы можете использовать MPMoviePlayer вместо UIWebView.Вот ссылка для примера.

http://www.makebetterthings.com/blogs/iphone/play-video-on-iphone-and-ipad/

Надеюсь, это поможет вам.

0 голосов
/ 23 марта 2011

Итак, видео не воспроизводится или что-то еще происходит. Пожалуйста, будьте более подробны о точной проблеме, с которой вы сталкиваетесь, когда вы отправляете любой вопрос.

Можете ли вы распечатать и опубликовать журнал созданного html-файла (NSString) и проверить его правильность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...