ios 在通话期间向扬声器发送音频

标签 ios audio mute

有谁知道如何在通话过程中阻止 iphone 将扬声器输出静音?

我正在开发一个应用程序,我需要在有电话来电时通过电话扬声器播放音频..

希望有人能帮忙!

最佳答案

我知道有一个公认的答案,但我不认为它是完全正确的。一些导航应用程序(例如 Waze)能够在通话期间提供音频指示。 如果您使用 AVAudioPlayer,您可以通过响应 audioPlayerBeginInterruption: 委托(delegate)来处理中断(即电话调用)(您可以阅读更多相关信息 here)。

虽然我没有太多时间研究它,但我确实设法通过使用以下代码在调用电话或播放歌曲时播放了一个简短的声音文件:

-(void)audioPlayerBeginInterruption:(AVAudioPlayer *)player
{
    NSString *path = [[NSBundle mainBundle] pathForResource:@"mySound" ofType:@"mp3"];
    SystemSoundID soundFileObject;
    NSURL *pathURL = [NSURL fileURLWithPath : path];
    CFURLRef soundFileURLRef = (CFURLRef)CFBridgingRetain(pathURL);
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundFileObject);
    AudioServicesPlaySystemSound(soundFileObject);
}

请记住,当出现中断时,您的应用可能会进入后台或暂停,这也会影响您播放声音(或运行任何其他代码)的能力。

关于ios 在通话期间向扬声器发送音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20706140/

相关文章:

Android:停止功能监听点击和恢复

c# - 有什么方法可以使声音静音但又可以使其在后台运行而不是完全停止播放?

android - 使用单选按钮在应用程序中打开/关闭声音

ios - 解析 - Swift 中的 NSNull null 模拟

iphone - iPhone 游戏中用什么来播放声音?

c# - 尝试在音频播放代理中播放音频时出错。 System.SystemException:HRESULT = 0xC00D001A

c - 多线程程序在完成之前卡住

ios - 适用于 iOS 的 Google 登录 : error "Cannot subscript a value of type ' [String : AnyObject ]' with an index of type ' String'"

ios - 带自动布局的 tableHeaderView 无法正常工作

android - 用于 iOS 和 Android 开发的 Corona vs Titanium