【问题标题】:How to pause background Music in ios如何在ios中暂停背景音乐
【发布时间】:2014-04-17 15:35:36
【问题描述】:

我正在我的应用程序中播放视频

_player = [[MPMoviePlayerController alloc] init];
_player.view.frame = CGRectMake(0, 60, frame.size.width,frame.size.height - 130);
_player.movieSourceType = MPMovieSourceTypeStreaming;
_player.fullscreen = NO;
[_player setScalingMode:MPMovieScalingModeAspectFill];
_player.controlStyle = MPMovieControlStyleNone;
[_player setContentURL:[NSURL URLWithString:mediaUrl]];
[_player play];

我必须做一些配置 -

1- 如果设备处于静音状态,则以最大音量播放视频。 2-如果设备正在另一个应用程序中播放任何音乐,则必须暂停背景歌曲并在视频播放完成后再次播放。

所以我搜索了很多然后找到了以下解决方案 -

对于 1-

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];

当设备静音时,它可以完美运行。然后它会以最大音量播放。

对于 2- 同时播放背景歌曲和视频音频,我正在做以下 -

- (void)viewWillAppear:(BOOL)animated {
    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];
    [[AVAudioSession sharedInstance] setActive:YES error:nil];
}

-(void)viewWillDisappear:(BOOL)animated {
    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];
    [[AVAudioSession sharedInstance] setActive:NO error:nil];
}

但它不起作用,它的背景音乐停止但不再播放。

【问题讨论】:

    标签: ios video mpmovieplayercontroller audio-player


    【解决方案1】:

    可能是因为当应用进入后台时没有调用viewWillDisappear

    此外:

    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
    [[AVAudioSession sharedInstance] setActive:NO error: nil];
    

    一旦激活就无法避免背景音乐。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多