Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Audio 当合成中存在音频时,Avplayer不播放视频_Audio_Video_Avplayer_Avmutablecomposition_Avvideocomposition - Fatal编程技术网

Audio 当合成中存在音频时,Avplayer不播放视频

Audio 当合成中存在音频时,Avplayer不播放视频,audio,video,avplayer,avmutablecomposition,avvideocomposition,Audio,Video,Avplayer,Avmutablecomposition,Avvideocomposition,我一直在努力解决这样一个问题:如果我将音频添加到合成中,avplayer将不显示视频资源 以下是目前的代码: - (void)viewDidLoad { [super viewDidLoad]; AVMutableComposition *composition = [[AVMutableComposition alloc] init]; AVURLAsset *videoAsset = [[AVURLAsset alloc]initWithURL:[NSURL UR

我一直在努力解决这样一个问题:如果我将音频添加到合成中,avplayer将不显示视频资源

以下是目前的代码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    AVMutableComposition *composition = [[AVMutableComposition alloc] init];

    AVURLAsset *videoAsset = [[AVURLAsset alloc]initWithURL:[NSURL URLWithString:@"http://xxx.xxx.xxx/xxx.mp4"] options:nil];
    AVURLAsset *audioAsset = [[AVURLAsset alloc]initWithURL:[NSURL URLWithString:@"http://xxx.xxx.xxx/xxx.mp3"] options:nil];

    AVMutableCompositionTrack *cmpTrackVideo = [composition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
    AVMutableCompositionTrack *cmpTrackAudio = [composition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];

    AVAssetTrack *clipVideo = [[videoAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0];
    AVAssetTrack *clipAudio = [[audioAsset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0];

    [cmpTrackVideo insertTimeRange:CMTimeRangeMake(kCMTimeZero, videoAsset.duration) ofTrack:clipVideo atTime:kCMTimeZero error:nil];
    [cmpTrackAudio insertTimeRange:CMTimeRangeMake(kCMTimeZero, audioAsset.duration) ofTrack:clipAudio atTime:kCMTimeZero error:nil];

    AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:composition];
    self.player = [[AVPlayer alloc] initWithPlayerItem:playerItem];

    AVPlayerLayer * playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
    [playerLayer setFrame:self.view.bounds];
    [self.view.layer addSublayer:playerLayer];

    [self.player play];
}
我还尝试了播放项的方法。视频合成和avmutablevideocompositioninstruction等。。。没有运气

有人知道是什么导致了这一切吗

我很乐意提供任何意见、提示、示例等

致以最良好的祝愿,
尼诺

你得到答案了吗?你得到答案了吗?