【问题标题】:cant stream from youtube无法从 youtube 流式传输
【发布时间】:2012-03-23 19:41:01
【问题描述】:

当用户在我的表格视图中选择一行时,我试图从 youtube 流式传输视频, 代码如下:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{          

  NSString *videoURLString = [self.listaVideos objectAtIndex:[indexPath row]];
        NSURL *videoURL = [NSURL URLWithString:videoURLString];

        self.theMovie = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL];

        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(moviePlayBackDidFinish:)
                                                     name:MPMoviePlayerPlaybackDidFinishNotification
                                                   object:[self.theMovie moviePlayer]];

        [self.view addSubview:self.theMovie.view];
        [self.theMovie setWantsFullScreenLayout:NO];
        [self presentMoviePlayerViewControllerAnimated:theMovie];
        [[self.theMovie moviePlayer] play];
}



-(void)moviePlayBackDidFinish:(NSNotification*)notification
{
    NSLog(@"ENded");
}

还有错误:Unbalanced calls to begin/end appearance transitions for <MPMoviePlayerViewController: 0x7a256a0>.

【问题讨论】:

    标签: iphone video-streaming iostream


    【解决方案1】:

    尝试删除

        [self.view addSubview:self.theMovie.view];
    

    您似乎正在将其添加到视图中,然后将其呈现。 (如果您不想展示它,请删除该行)

    【讨论】:

      【解决方案2】:

      MPMoviePlayerViewController 无法流式传输 YouTube 视频。

      哦,Amit Shah 也是这么说的(删除 addSubview: 将处理不平衡的通话,但不会导致无法播放视频)。

      【讨论】:

        【解决方案3】:

        以下是来自 youtube url 的视频的代码。如果您真的在寻找从 Youtube 流式传输的视频,那么请依靠下面的代码,这很容易,而且您不必过多关注事件处理、缓冲等等……

        @interface VideoPlayerContrl : UIViewController {
        
                IBOutlet UIWebView *youtubeVideo;
        
        }
        
        // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
        - (void)viewDidLoad {
            [super viewDidLoad];
        
            NSString *htmlString = @"<html><head>\n"
            "<meta name = \"viewport\" content = \"initial-scale = 1.0, user-scalable = no, width = 212\"/></head>\n"
            "<body style=\"background:#F00;margin-top:0px;margin-left:0px\">\n"
            "<div><object width=\"212\" height=\"172\">\n"
            "<param name=\"movie\" value=\"http://www.youtube.com/v/oHg5SJYRHA0&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM\"></param>\n"
            "<param name=\"wmode\" value=\"transparent\"></param>\n"
            "<embed src=\"http://www.youtube.com/v/oHg5SJYRHA0&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM\"\n"
            "type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"247\" height=\"178\"></embed>\n"
            "</object></div></body></html>\n";
        
            [youtubeVideo loadHTMLString:htmlString baseURL:[NSURL URLWithString:@"https://s3.amazonaws.com/adplayer/colgate.mp4"]];
        
        }
        

        希望这能解决您的问题:)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-11-03
          • 2019-10-16
          • 1970-01-01
          • 2018-07-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多