7

いくつかの「メディア」を再生しようとしましたが、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];

しかし、いくつかのオプションを追加/削除できるようにビデオがあるかどうかを確認するにはどうすればよいですか?

4

6 に答える 6

9

Apple のサンプル コード プロジェクト AVSimplePlayer から:

// Set up an AVPlayerLayer according to whether the asset contains video.
if ([[(AVAsset *)asset tracksWithMediaType:AVMediaTypeVideo] count] != 0)
于 2014-07-25T10:04:55.197 に答える
3

わかりませんがAVPlayerItem、次の配列があります[mPlayerItem.asset.tracks]。これには、ビデオ用とオーディオ用の 2 つのオブジェクトが含まれています。[mPlayerItem.asset.tracks objectAtIndex:0]ビデオ[mPlayerItem.asset.tracks objectAtIndex:1]用とオーディオ用に次のようにアクセスします。

于 2012-10-18T13:05:18.120 に答える