AVAudioPlayer和AVAudioSession不会在iPad上播放BlueTooth立体声(2或其他)

AVAudioPlayer和AVAudioSession不会在iPad上播放BlueTooth立体声(2或其他),第1张

概述我有一个播放录制音频和重复声音的应用程序.通过板载iPad扬声器可以正常播放声音,如果我从耳机插孔插入一根线到我的立体声音频输入,它也可以很好地播放.当我将iPad与我的蓝牙立体声输入配对时,来自我的其他应用程序(为iPhone编写,在我的iPad上运行)的所有声音都能正常工作,就像我设备上的所有其他声音一样. 问题是我为iPad编写的应用程序不是通过蓝牙路径播放,而是通过内置扬声器播放. 在我的 我有一个播放录制音频和重复声音的应用程序.通过板载iPad扬声器可以正常播放声音,如果我从耳机插孔插入一根线到我的立体声音频输入,它也可以很好地播放.当我将iPad与我的蓝牙立体声输入配对时,来自我的其他应用程序(为iPhone编写,在我的iPad上运行)的所有声音都能正常工作,就像我设备上的所有其他声音一样.

问题是我为iPad编写的应用程序不是通过蓝牙路径播放,而是通过内置扬声器播放.

在我的dIDFinishLaunchingWithOptions(…)方法的app委托中,我放置了以下内容:

NSError *error = nil;[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeDefault error:&error];[[AVAudioSession sharedInstance] setcategory:AVAudioSessioncategoryPlayAndRecord error:&error];[[AVAudioSession sharedInstance] setActive:YES error:&error];

正在调用此代码,并且不会返回任何错误.

在我的控制器代码中,我记录了使用AVAudioPlayer播放的样本,如下所示:

audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:recordURL error:&error];audioPlayer.numberOfLoops = 0;[audioPlayer setDelegate:self];[audioPlayer play];

在其他方面,我的无人机播放时间短.在线程控制的循环中重复播放.01秒声音,我使用OpenAL执行此 *** 作:

alSourcePlay(sourceID);

这与我为iPhone编写的其他应用程序中的代码完全相同.

我意识到还有其他关于蓝牙输入的线程,但我有一个特定的问题,我的iPad应用程序的音频声音的蓝牙输出.

解决方法 不可能.

从非常有趣的Apple doc AVAudioSession – 选择麦克风QA1799:

如果应用程序使用setPreferredinput:error:方法选择蓝牙HFP输入,则输出将自动更改为蓝牙HFP输出.此外,使用MPVolumeVIEw的路由选择器选择蓝牙HFP输出将自动将输入更改为蓝牙HFP输入.因此,即使仅单独设置输入或输出,输入和输出也将始终在蓝牙HFP设备上结束.

总结

以上是内存溢出为你收集整理的AVAudioPlayer和AVAudioSession不会在iPad上播放BlueTooth立体声(2或其他)全部内容,希望文章能够帮你解决AVAudioPlayer和AVAudioSession不会在iPad上播放BlueTooth立体声(2或其他)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1084599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存