在IOS中同时播放音视频

Posted

技术标签:

【中文标题】在IOS中同时播放音视频【英文标题】:Play audio and video at the same time in IOS 【发布时间】:2013-11-13 11:17:03 【问题描述】:

您好,我正在尝试同时播放两个不同的文件。

我尝试使用AVFoundationMediaPlayer 创建多个播放器,但效果不佳。同时播放音频文件和视频的最佳方式是什么?

我采用单独文件的原因是为了节省空间,因为应用程序将被本地化,每种语言只有 26 个音频文件而不是 26 个视频可以节省空间。这很重要,因为苹果不允许下载超过 100 MB 的应用程序。

【问题讨论】:

100 MB 的限制仅适用于蜂窝网络。通过 WiFi,下载限制为 2 GB。 【参考方案1】:

我建议将AVAudioPlayerMPMoviePlayerController 结合使用

对于AVAudioPlayer,您将其设置为环境会话,这将允许同时播放另一个媒体源。我在下面发布了一些代码。这是从我做的一个附带项目中提取的,可以在我的 GitHub 上找到。

AVAudioPlayer audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
[[AVAudiosession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil];

NSURL *movieURL = [NSURL fileURLWithPath:
                   [[NSBundle mainBundle] pathForResource:@"movie"
                                                   ofType:@"mp4"]];

MPMoviePlayerController moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
[[moviePlayer view] setFrame:someFrame];
[self.view addSubview:moviePlayer.view];
[moviePlayer prepareToPlay];
[moviePlayer setScalingMode:MPMovieScalingModeAspectFill];
[moviePlayer setRepeatMode:MPMovieRepeatModeOne];
[moviePlayer setControlStyle:MPMovieControlStyleNone];
[moviePlayer play];

如果您希望它可以更改,您只需将不同的音频 URL 加载到同一个音频播放器,就可以了。

【讨论】:

完全没问题。最初我也遇到了一些麻烦,直到我在网上找到了一个关于它的教程,但不记得现在在哪里。 @MZimmerman6 我想用 AVFoundation 自定义一个视频播放器,可以吗? @HoanNguyen 我不确定你的意思。您想创建自定义视频播放器吗?你想怎么定制呢? 对不起,关于评论,我的意思是我想同时播放视频和音频文件,但不要使用 MPMoviePlayerVC,也许我使用 AVfoundation 自定义视频播放器。有用吗? @HoanNguyen 我不知道,我没有尝试这样做。试试看,google了一下。如果您仍然遇到问题,请在此处发布一个问题,详细说明您尝试了什么,您的错误是什么,并发布一些相关代码。

以上是关于在IOS中同时播放音视频的主要内容,如果未能解决你的问题,请参考以下文章

ios开发视频播放后台下载功能实现 :1,ios播放视频 ,包含基于AVPlayer播放器,2,实现下载,iOS后台下载(多任务同时下载,单任务下载,下载进度,下载百分比,文件大小,下载状态)(真机调

有没有人能够在 iOS 上的单独视图中同时播放视频文件和显示实时摄像机源?

iOS 将视频作为下载数据播放

在 iOS 中录制视频时播放音频文件

是否可以在不显示/添加视图的情况下在 iOS 上播放 YouTube 视频,同时仍遵守 YouTube 的服务条款?

iOS 多个播放器同时播放,双击全屏,单击退出全屏