我正在使用AVPlayer在代码中播放音乐。我知道我可以使用MPVolumeView中的MediaPlayer在扬声器之间进行路由,但是我正在寻找不同的东西(因为我正在Ionic中开发应用程序,而我找不到能够执行此操作的插件,我使用的是cordova-plugin-media)。

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

另一件事是,如果我强行更改此设置,它将在Control Center中表现如何。

最佳答案

您仍然可以将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

10-08 17:20