我正在製作這個iPhone應用程序,允許用戶觀看YouTube視頻和Vimeo視頻。我想知道是否有一個自定義播放器可以加入到我的應用中,該播放器將從YouTube鏈接或vimeo鏈接播放視頻。這也必須與iOS 7兼容。謝謝!iPhone SDK與YouTube的自定義視頻播放器
0
A
回答
0
可能您正在尋找AVFoundation.framework。只需將它添加到您的項目中,並且您可以使用其AVPlayer組件來完全自定義您的界面。這將是這樣的:
-(void)viewDidLoad {
//prepare player
self.videoPlayer = [AVPlayer playerWithURL:<# NSURL of your youtube video #>];
self.videoPlayer.actionAtItemEnd = AVPlayerActionAtItemEndPause;
//prepare player layer
self.videoPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:self.videoPlayer];
self.videoPlayerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
self.videoPlayerLayer.frame = self.view.bounds;
[self.view.layer addSublayer:self.videoPlayerLayer];
//add player item status notofication handler
[self addObserver:self forKeyPath:@"videoPlayer.currentItem.status" options:NSKeyValueObservingOptionNew context:NULL];
//notification handler when player item completes playback
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playerItemDidReachEnd:) name:AVPlayerItemDidPlayToEndTimeNotification object:self.videoPlayer.currentItem];
}
//called when playback completes
-(void)playerItemDidReachEnd:(NSNotification *)notification {
[self.videoPlayer seekToTime:kCMTimeZero]; //rewind at the end of play
//other tasks
}
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if ([keyPath isEqualToString:@"videoPlayer.currentItem.status"]) {
//NSLog(@"player status changed");
if (self.videoPlayer.currentItem.status == AVPlayerItemStatusReadyToPlay) {
//player is ready to play and you can enable your playback buttons here
}
}
}
和正常人一樣VC可以添加按鈕或其他物品來調用這些方法回放:
-(IBAction)play:(id)sender {
[self.videoPlayer play];
}
-(IBAction)pause:(id)sender {
[self.videoPlayer pause];
}
請確保您刪除以前你之前添加的觀察員離開了VC否則這些都是會泄漏:
//remove observers
@try {
[self removeObserver:self forKeyPath:@"videoPlayer.currentItem.status" context:NULL];
}
@catch (NSException *exception) {}
@try {
[[NSNotificationCenter defaultCenter] removeObserver:self name:AVPlayerItemDidPlayToEndTimeNotification object:self.videoPlayer.currentItem];
}
@catch (NSException *exception) {}
從蘋果公司的詳細說明,請here。希望你會發現它有幫助。
0
1) Youtube uses flash which does not work with native mediaplayer. 2) Native media player either needs a file or it can live stream url which use HTTPLiveStreaming (it does not support RTSP).
簡而言之,他們工作在不同的協議上,不能互相交談。 但是,您可以使用第三方API下載YouTube視頻然後播放,但這需要您的用戶等待,直到整個文件被下載。
我會建議你使用webview。 here是一篇很好的文章,展示瞭如何做到這一點。 YoutubeHacks是一個相同的開源工具。
+0
Youtube我認爲有一個HLS版本,另一種方式是使用第三方rtsp播放器和android手機rtsp鏈接。即。該鏈接youtube爲android玩家提供。 http://streammore-tv.tumblr.com/post/34794206547/歡迎這個測試版程序已過期,但還有其他玩家。 –
相關問題
- 1. iPhone SDK:自定義視頻播放器控件
- 2. 使用AVFoundation在自定義播放器中播放YouTube視頻
- 3. 使用Api的Youtube視頻播放器上的自定義媒體播放器
- 4. 直播iPhone視頻播放iPhone SDK
- 5. 自定義YouTube播放器
- 6. 在Android上自動播放視頻與YouTube播放器
- 7. 自動播放YouTube視頻
- 8. 如何在YouTube視頻播放器中播放YouTube視頻中的視頻android
- 9. Youtube視頻播放器
- 10. 在kaltura播放Youtube視頻播放器
- 11. 用於在iOS Safari上顯示Youtube視頻的自定義視頻播放器
- 12. Android自定義視頻播放器
- 13. HTML5自定義視頻播放器
- 14. Youtube視頻播放器定製
- 15. 如何使用自定義圖像自動播放YouTube視頻?
- 16. 在iPhone上播放YouTube視頻,全屏
- 17. 在iphone應用中播放youtube視頻
- 18. 無法獲取YouTube視頻的自定義播放列表
- 19. YouTube API:自定義按鈕開始播放嵌入的視頻
- 20. 嵌入式YouTube視頻的自定義播放按鈕
- 21. 全屏播放youtube視頻?
- 22. 自己的網站的視頻播放器(與youtube)
- 23. 在視頻播放器中播放youtube視頻
- 24. MPMoviePlayerController播放YouTube視頻
- 25. 使用YouTube播放器API播放不同的YouTube視頻
- 26. Chromecast支持通過YouTube播放器播放的YouTube視頻API
- 27. 將youtube視頻自動播放
- 28. 如何通過YouTube播放器自動播放視頻
- 29. Youtube API自定義播放列表顯示視頻名稱
- 30. 播放YouTube視頻,iPad的
什麼問題與Web視圖?? –
webview有嵌入式的YouTube視頻播放器(在我看來,這看起來並不專業)。有一個名爲ProTuber的應用程序可以完成同樣的功能。 – Username
錯誤。 ProTuber使用webview在頂部添加自定義工具欄。檢查這個http://stackoverflow.com/questions/9060153/play-youtube-videos-in-iphone-app-without-using-uiwebview –