Iphone 无法从youtube流媒体
当用户在my tableview中选择一行时,我正在尝试从youtube流式传输视频, 代码如下:Iphone 无法从youtube流媒体,iphone,video-streaming,iostream,Iphone,Video Streaming,Iostream,当用户在my tableview中选择一行时,我正在尝试从youtube流式传输视频, 代码如下: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSString *videoURLString = [self.listaVideos objectAtIndex:[indexPath row]]; NSURL *v
- (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");
}
错误:开始/结束外观转换的调用不平衡。尝试删除
[self.view addSubview:self.theMovie.view];
您似乎正在将其添加到视图中,然后显示它。如果您不想显示,请删除该行,而不是MPMoviePlayServiceController无法流式播放YouTube视频
哦,还有阿米特·沙阿(Amit Shah)所说的删除addSubview:将处理不平衡的呼叫,但不会处理无法播放视频的问题。下面是从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"]];
}
希望这能解决您的问题: