2016-03-23 15 views
2

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を初期化しました。正しいURLです。しかし、何も画面に表示されません。デバッガで気付いたことの1つは、NSURLとURLの実際の文字列が最後に違うということです。だから多分助けになるかもしれないが、私はそれをどう変えるか分からない。ここで写真をされています。また、

enter image description here

私は、iOS 8.4デバイスでこれをテストしていますので、私はそれがHTTPアドレスをブロックしているアプリのトランスポートセキュリティではありません知っています。

私はここで間違っていますか?どんな助けもありがとう。ありがとう。この

答えて

6

変更:これに
NSURL *url = [NSURL fileURLWithPath:urlString];
:WebからのURLを使用している間
NSURL *url = [NSURL URLWithString:urlString];

fileURLWithPathがgenrallyローカルファイルシステムからURLをロードするために使用されますがURLWithString

を使用する必要があります
関連する問題