在IOS中同时播放音频和视频

4

你好,我想同时播放两个不同的文件。

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

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


100 MB的限制只适用于蜂窝网络。在WiFi上,下载限制为2 GB。 - MZimmerman6
1个回答

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
@MZimmerman6 我想使用AVFoundation自定义一个视频播放器,可以吗? - HoanNguyen
@HoanNguyen 我不确定你的意思。你想创建一个自定义视频播放器吗?你想如何自定义它? - MZimmerman6
抱歉,关于评论,我的意思是我想同时播放视频和音频文件,但不使用MPMoviePlayerVC,也许我可以自定义视频播放器,使用AVfoundation。这可行吗? - HoanNguyen
@HoanNguyen 我不知道,我没有尝试过那样做。试一试,在谷歌上搜索一下。如果你继续遇到问题,请在这里发布一个问题,详细说明你尝试了什么,你的错误是什么,并附上一些相关的代码。 - MZimmerman6

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接