如何将音频从设备扬声器路由到蓝牙扬声器?

Posted

技术标签:

【中文标题】如何将音频从设备扬声器路由到蓝牙扬声器?【英文标题】:How to route audio from device speaker to bluetooth speaker? 【发布时间】:2017-02-08 07:00:50 【问题描述】:

我正在使用AVPlayer 在我的代码中播放音乐。我知道我可以使用来自MediaPlayerMPVolumeView 在扬声器之间进行路由,但我正在寻找不同的东西(因为我正在 Ionic 中开发应用程序并且我无法找到一些可以执行此类操作的插件,插件我使用的是cordova-plugin-media)。

我搜索了如何创建它并找到了一些答案,例如我可以使用AVAudiosession 进行切换。 我无法找到一些与之相关的代码,所以如果有人可以提供帮助,那就太好了。

另一件事是,如果我强行更改它,它将如何与控制中心一起使用。

【问题讨论】:

【参考方案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 可能有帮助。

【讨论】:

以上是关于如何将音频从设备扬声器路由到蓝牙扬声器?的主要内容,如果未能解决你的问题,请参考以下文章

将音频重新路由到蓝牙扬声器

如何从电话、电话扬声器、耳机或蓝牙设备切换音频输出

如何获取可用输出音频源列表(扬声器、耳机、蓝牙)

从无线耳机录制音频并通过蓝牙扬声器播放

Android,插入耳机后如何将音频路由到扬声器?

检测连接的音频设备 iOS