【发布时间】:2018-11-01 21:55:46
【问题描述】:
我正在运行一个 AVAudioSession,我怀疑它正在激活麦克风请求,但我只将它用于声音和音乐。在 macOS Mojave 上运行 Xcode 10.1 Simulator 时,为什么会激活访问麦克风的请求?我什至没有写一行来要求访问它。我的应用程序不需要访问它,我也不希望它访问它。这是播放音乐的代码:
AVAudioSession *title = [AVAudioSession sharedInstance];
[title setCategory:AVAudioSessionCategoryAmbient error:nil];
[title setActive:YES error:nil];
//MUSIC
NSString *path = [[NSBundle mainBundle] pathForResource:@"music_nature" ofType:@"mp3"];
NSURL *url = [NSURL fileURLWithPath:path];
titleMusic = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
titleMusic.numberOfLoops = -1;
[titleMusic setVolume:1.0];
[titleMusic play];
如果我注释掉上面的代码,我将不再收到麦克风的请求。但是我没有任何音乐。
示例项目:https://github.com/Coeur/StackOverflow53109911
(您需要 macOS Mojave 来重现该问题)
【问题讨论】:
-
请分享您的声音/音乐播放代码。
-
@ThEuSeFuL 完成。
-
嗯……这里也一样。升级到 10.1 现在正在询问。
-
@Cœur。我已将其更改为 [[AVAudioSession sharedInstance]] 并且没有更改。
-
@Cœur。只需阅读您的上述帖子。所以这是一个 Mojave 错误,而不是 iOS 错误。这是一个巨大的解脱!感谢您的帮助!
标签: ios xcode ios-simulator avaudiosession macos-mojave