2

我的应用程序播放没有声音的视频文件。它会中断背景中的任何播放音乐(例如 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];
4

2 回答 2

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 中声明

于 2012-07-24T21:01:19.380 回答
1

斯威夫特 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)
  }
于 2019-09-17T04:57:40.577 回答