ios - 在 iOS 中使用 EPSSampler 时使用系统 channel 而不是铃声 channel

标签 ios avaudioplayer audiounit

我正在使用 EPSSampler在我的小型 iOS 应用程序中演奏一些音符。它工作得很好,只是声音是通过铃声设置而不是系统音量设置来控制的。问题是,如果铃声关闭,我的应用程序就不会发出声音。

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

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

最佳答案

事实证明,这与 EPSSampler 无关,而与配置 Audio Session 无关。以下代码起到了作用。

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

这会教我 RTFM .

关于ios - 在 iOS 中使用 EPSSampler 时使用系统 channel 而不是铃声 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46223716/

相关文章:

iOS Audio Player - 左右声道同步文件

ios - 未插入 UITable 的行

ios - 快速启用/禁用开始和暂停按钮

ios - 接受 hh :mm format 中文本字段的时间输入的正则表达式应该是什么

ios - 有没有办法将语音处理io音频单元路由到蓝牙设备?

ios - 无法将转换器音频单元连接到混响效果

macos - 你如何更新 AudioUnit 乐器

ios - 我可以在 semaphore.wait() 主线程上调用吗?

iphone - audioPlayerDidFinishPlaying如何知道哪个文件完成了?

swift - 无法操作位于不同 ViewController 上的 AVAudioPlayer