2012-07-28 111 views
4

我嘗試播放一些「媒體」,但在AVPlayer啓動時我不知道它是音頻還是視頻。如何檢查AVPlayer是否有視頻或只是音頻?

我連接播放器層,它工作正常。

self.avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:[[PCPlayerManager sharedManager] audioPlayer]]; 
avPlayerLayer.videoGravity = AVLayerVideoGravityResizeAspect; 
avPlayerLayer.frame = CGRectMake(0, 0, videoView.frame.size.width, videoView.frame.size.height); 
[videoView.layer addSublayer:avPlayerLayer]; 

但是我怎樣才能檢查是否有視頻,所以我可以添加/刪除一些選項?

回答

1

我不知道,但AVPlayerItem具有以下陣列[mPlayerItem.asset.tracks]這包含兩個對象,一個用於視頻,另一個用於audio.Access它如下[mPlayerItem.asset.tracks objectAtIndex:0]視頻和[mPlayerItem.asset.tracks objectAtIndex:1]音頻。

5

從蘋果的示例代碼項目AVSimplePlayer:

// Set up an AVPlayerLayer according to whether the asset contains video. 
if ([[(AVAsset *)asset tracksWithMediaType:AVMediaTypeVideo] count] != 0) 
+0

這不是我的工作;我正在閱讀視頻和音頻流,計數始終爲0 – 2016-06-29 08:51:03

+0

工作正常:OS X 10.11和Xcode 7 – user3648895 2016-08-04 21:50:33

相關問題