播放没有音频中断的视频 - 目标c

时间:2012-07-24 15:10:44

标签: iphone objective-c ios mpmovieplayercontroller avaudiosession

我的应用播放没有声音的视频文件。它会中断背景音乐中的任何播放音乐(例如iPod应用程序)。如果可能的话,如何不中断其他应用程序的音频会话。 我的视频文件没有声音。要播放视频我使用MPMoviePlayerController

编辑:这是我的视频播放器代码:

_player = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:path]];
[self installMovieNotificationObservers:nil];
[_player setShouldAutoplay:YES];
[_player setUseApplicationAudioSession:NO];
[_player.view setFrame:self.navController.view.frame];
[_player setMovieSourceType:MPMovieSourceTypeFile];
[_player setRepeatMode:MPMovieRepeatModeNone];
[_player setFullscreen:YES animated:YES];
[_player setControlStyle:MPMovieControlStyleNone];
[_navController.view addSubview:_player.view];
[_player play];

2 个答案:

答案 0 :(得分:1)

直接来自Apple的文档: http://developer.apple.com/library/ios/documentation/mediaplayer/reference/MPMoviePlayerController_Class/Reference/Reference.html#//apple_ref/occ/instp/MPMoviePlayerController/useApplicationAudioSession

  

useApplicationAudioSession   一个布尔值,指示是否   电影播放器​​应该使用应用程序的音频会话。

     

@property(nonatomic)BOOL useApplicationAudioSession讨论   此属性的默认值为YES。将此属性设置为NO   使电影播放器​​使用系统提供的音频会话   不可混合的播放类别。

     

重要在iOS 3.1及更早版本中,电影播放器​​始终使用   系统提供的音频会话。在iOS 3.2中获得相同的行为   更新,您必须将此属性的值设置为NO。当这个   属性为YES,电影播放器​​共享应用程序的音频会话。这个   让您控制电影播放器​​内容如何与您的内容互动   音频和来自其他应用程序(如iPod)的音频。对于重要的   有关使用此功能的指导,请参阅“使用电影和iPod   音乐“在音频会话编程指南。

     

更改此属性的值不会影响当前属性   在看电影。要使新设置生效,您必须停止   播放然后重新开始。

     

可用性适用于iOS 3.2及更高版本。宣告进入   MPMoviePlayerController.h

答案 1 :(得分:0)

快速5个答案

  do {
        if #available(iOS 10.0, *) {
            try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback, mode: AVAudioSession.Mode.default, options: .mixWithOthers)
        } else {
            try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback, options: .mixWithOthers)
        }
        try AVAudioSession.sharedInstance().setActive(true)
  } catch {
        print(error)
  }