您好我正在尝试同时播放两个不同的文件。
我尝试使用AVFoundation
和MediaPlayer
创建多个玩家,但效果不佳。什么是同时播放音频文件和视频的最佳方式?
我采用单独文件的原因是为了节省空间,因为应用程序将被本地化,每种语言只有26个音频文件,而不是26个视频节省空间。这很重要,因为苹果不允许下载超过100 MB的应用程序大小。
答案 0 :(得分:1)
我建议将AVAudioPlayer
与MPMoviePlayerController
对于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加载到同一音频播放器,您应该很高兴。