【问题标题】:Using AVAudioRecorder and AVAudioPlayer at the same time (or alternative ways of listening for sound and playing sound)同时使用 AVAudioRecorder 和 AVAudioPlayer (或另一种收听和播放声音的方式)
【发布时间】:2010-11-23 11:50:26
【问题描述】:

这有什么不可行的原因吗?

我正在测试麦克风中的声音,并在注册声音时播放循环音效。

在 iPod touch 上这似乎可以正常工作 - 在 iPhone 上,虽然音效要么根本不播放,要么非常安静。

有什么想法吗?还是有其他选择?

谢谢

【问题讨论】:

  • iPhone 可能是通过听筒而不是扬声器播放声音。你能验证一下吗?
  • 是的,只是在我录制的时候。当我在没有录音机的情况下播放声音时,它会通过扬声器播放......我该如何解决这个问题?谢谢
  • 这可能是一个反反馈功能。
  • 是的,彼得说得对。一旦我使用下面的代码通过扬声器输出它,它就会进入一个连续的循环,因此整个事情都不起作用。 :(

标签: iphone cocoa-touch avaudioplayer avfoundation avaudiorecorder


【解决方案1】:

由于某种原因,我不得不在播放声音之前输入这段代码:

UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
        AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);    
        UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
        AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);

停止通过听筒播放。

【讨论】:

  • 我从 AVAudioPlayer 获得了非常安静的初始声音(可能来自听筒)。我也有 AVAudioRecorder。这个 sn-p 代码为我修复了它,即使在使用耳机时也是如此。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-21
  • 1970-01-01
  • 2012-01-14
  • 1970-01-01
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多