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

时间:2013-11-13 11:17:03

标签: ios iphone audio video

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

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

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

1 个答案:

答案 0 :(得分: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加载到同一音频播放器,您应该很高兴。