【问题标题】:How to record music playing in iPhone music App如何录制 iPhone 音乐 App 中播放的音乐
【发布时间】:2017-01-03 17:48:41
【问题描述】:

我正在制作一个 iOS 应用程序,其中我使用 AVAudioRecorder 记录外部音频并通过 averagePowerForChannel 函数计算功率。当我的应用程序进入后台时,一切顺利,但是当我在 iPhone 音乐应用程序中开始播放歌曲时,我的录音停止了。 然后我使用了以下代码:

AVAudioSession *session = [AVAudioSession sharedInstance]; [session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil];

现在,当我从 iPhone 音乐应用程序播放音乐时,它不会中断录音,但会以非常低的音量播放。

我也想录制这首 iOS 音乐应用歌曲,因为我在代码中的某处使用了电源。

【问题讨论】:

  • 音频来自哪个扬声器?
  • 我正在从 iPhone 音乐应用播放音乐,音频来自 iPhone 扬声器。

标签: ios objective-c iphone avaudiorecorder


【解决方案1】:

经过大量的实验,我终于知道用正常音量的音乐应用播放歌曲需要什么。

AVAudioSessionCategoryOptionMixWithOthers 将允许录制附近的音频。但是如果你想录制 iPhone 扬声器产生的音频,你需要添加这个类别以及 AVAudioSessionCategoryOptionDefaultToSpeaker。

下面是工作代码:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
                      withOptions:AVAudioSessionCategoryOptionMixWithOthers|AVAudioSessionCategoryOptionDefaultToSpeaker
                            error:nil];

【讨论】:

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