Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone音频播放:通过内置扬声器强制播放?_Iphone_Audio - Fatal编程技术网

iPhone音频播放:通过内置扬声器强制播放?

iPhone音频播放:通过内置扬声器强制播放?,iphone,audio,Iphone,Audio,是否有人知道即使插入了耳机,也可以通过内置扬声器播放音频文件?我不确定您是如何播放音频的,但请尝试查看音频文件的“重定向输出音频”部分 它看起来像这样: UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; // 1 AudioSessionSetProperty ( kAudioSessionProperty_OverrideAudioRoute,

是否有人知道即使插入了耳机,也可以通过内置扬声器播放音频文件?

我不确定您是如何播放音频的,但请尝试查看音频文件的“重定向输出音频”部分

它看起来像这样:

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;  // 1 
AudioSessionSetProperty ( 
    kAudioSessionProperty_OverrideAudioRoute,                         // 2 
    sizeof (audioRouteOverride),                                      // 3 
    &audioRouteOverride                                               // 4 
); 

事实上,我认为这是不可能的,因为似乎有某种机械开关,它指示耳机已插入,从而在这种情况下阻止扬声器输出。 (读)

kAudioSessionProperty\u OverrideCategoryDefaultToSpeaker
的说明中可以找到一些其他提示:
“指定当没有连接其他音频路由(如耳机)时,是否将音频路由到扬声器(而不是接收器)。

这是否也会更改输入的路由?”?我想从外部麦克风获取输入,并使用内部扬声器进行输出。我可以用这种方法吗?我不确定,当你说外部麦克风时,你是指设备麦克风而不是耳机麦克风吗?不,不,我是指外部插入的麦克风。应该从中获取输入。我的问题解决了。发现你的帖子很有帮助@slf我想用AudioPlayer录制在后台播放的声音,同时我想禁用外部噪音(外部麦克风)。这可能吗???我想做相反的事情:当苹果提供的耳机(带有内置麦克风)插入iPhone时,我想使用设备的内置麦克风(不是耳机上的麦克风),同时通过耳机(不是设备内置的接收器或扬声器)听音频。有什么办法吗?它似乎与您的解决方案类似。