【问题标题】:How to route audio from device speaker to bluetooth speaker?如何将音频从设备扬声器路由到蓝牙扬声器?
【发布时间】:2017-02-08 07:00:50
【问题描述】:
我正在使用AVPlayer 在我的代码中播放音乐。我知道我可以使用来自MediaPlayer 的MPVolumeView 在扬声器之间进行路由,但我正在寻找不同的东西(因为我正在 Ionic 中开发应用程序并且我无法找到一些可以执行此类操作的插件,插件我使用的是cordova-plugin-media)。
我搜索了如何创建它并找到了一些答案,例如我可以使用AVAudioSession 进行切换。
我无法找到一些与之相关的代码,所以如果有人可以提供帮助,那就太好了。
另一件事是,如果我强行更改它,它将如何与控制中心一起使用。
【问题讨论】:
标签:
ios
objective-c
cordova
ionic-framework
cordova-plugins
【解决方案1】:
你仍然可以使用MPVolumeView和IONIC作为插件,你只需要通过代码控制UITouchUpInside。
如果有帮助,请检查。
- (void) currentOutputs:(CDVInvokedUrlCommand*)command {
if(!mpVolumeView){
mpVolumeView = [[MPVolumeView alloc] initWithFrame:CGRectZero];
mpVolumeView.showsVolumeSlider = FALSE;
[self.webView.superview addSubview:mpVolumeView];
[mpVolumeView setAlpha:0.01];
}
UIButton* btn = nil;
for (UIView *view in [mpVolumeView subviews]){
if ([view.class.description isEqualToString:@"MPButton"]){
btn = (UIButton*)view;
break;
}
}
if(btn){
[btn sendActionsForControlEvents:UIControlEventTouchUpInside];
}
}
工作插件
https://github.com/jaymehtasa/cordova-plugin-audioroute
【解决方案2】:
你试过了吗?
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionPortBluetoothA2DP)
} catch _ {
}
This 可能有帮助。