繁体   English   中英

如何在iOS中暂停背景音乐

[英]How to pause background Music in ios

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

_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];
}

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

可能是因为应用程序进入后台时未调用viewWillDisappear

此外:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM