在iOS中使用EPSSampler时,请使用系统通道而不是振铃通道

时间:2017-09-14 16:02:09

标签: ios avaudioplayer audiounit

我正在使用EPSSampler在我的小应用程序中播放一些笔记。除了通过振铃设置而不是系统音量设置控制声音外,它的效果很好。问题是,如果铃声关闭,我的应用程序没有声音。

我能找到的最接近的是this SO question,但我无法将该解决方案完全转化为我的解决方案,因为我无法将其与EPSSampler的代码相匹配。有什么见解吗?

编辑为了澄清,唯一专门处理音频的代码包含在EPSSampler类中,我的应用只是实例,加载AUSampler预设,并调用EPSSampler中的音符播放方法,因此,解决方案需要在EPSSampler而不是在我的应用程序中更改某些内容 - 这就是我没有发布任何源代码的原因。

2 个答案:

答案 0 :(得分:4)

原来这与EPSSampler无关,而且与配置音频会话无关。以下代码可以解决问题。

NSError *error = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error];

那将教会我RTFM

答案 1 :(得分:0)

对于swift(初始化音乐时使用):

_ = try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)