我試圖使用AVPlayer從遠程URL播放視頻。這是一個非常簡單的設置:加載視圖控制器,並在viewDidLoad中,使用url設置AVPlayer並播放它。這是我的代碼,在viewDidLoad:使用AVPlayer從遠程URL播放視頻
NSString *urlString = @"http://download.wavetlan.com/SVV/Media/HTTP/MOV/ConvertedFiles/MediaConvert/MediaConvert_test4_1m10s_MPEG4SP_VBR_383kbps_320x240_30fps_AACLC_VBR_60kbps_Stereo_44100Hz.mov";
NSURL *url = [NSURL fileURLWithPath:urlString];
self.item = [AVPlayerItem playerItemWithURL:url];
self.player = [[AVPlayer alloc] initWithPlayerItem:self.item];
AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoFinished:) name:AVPlayerItemDidPlayToEndTimeNotification object:self.item];
playerLayer.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
playerLayer.backgroundColor = [UIColor greenColor].CGColor;
[self.view.layer addSublayer:playerLayer];
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
[self.player play];
self.player.actionAtItemEnd = AVPlayerActionAtItemEndNone;
但是,當視圖加載,什麼也沒有發生。屏幕只是綠色的(因爲我把playerLayer設置爲綠色),所以我知道它在那裏。它只是不玩。你也可以測試那個urlString,它是一個有效的url。該文件的大小是3.8 MB。我在這裏得到了一些測試網址的網址:http://download.wavetlan.com/SVV/Media/HTTP/http-mov.htm
所以,我初始化了播放器,playerLayer,項目和URL是正確的。但屏幕上沒有任何內容。我在調試器中注意到的一件事是NSURL和url的實際字符串在最後是不同的。所以也許這可能有一些幫助,但我不知道如何改變這一點。這裏有一張照片:
另外,我在iOS 8.4設備上測試這一點,所以我知道這不是阻止HTTP地址的應用程序傳輸安全。
我在這裏做錯了什麼?任何幫助表示讚賞。謝謝。