首页 文章

通过扬声器,耳机或蓝牙重新传输iPhone音频

提问于
浏览
3

我想创建一个允许用户选择音频路由的应用程序 . 即用户可以选择是通过耳机,扬声器还是蓝牙播放音频 . 我的应用程序没有播放任何音频,但我想要的是,如果使用内置音乐应用程序或任何其他媒体播放器在iPhone中播放歌曲,当我从我的应用程序中选择扬声器时,即使是耳机也应该通过扬声器播放歌曲已连接 . 是否可以从另一个应用程序控制系统级音频路由 .

4 回答

  • 0

    我想在某一点做出类似的东西 . 如果我没记错的话......设备中有一个物理开关在插入耳机时会关闭 . 有效地使得无法传送声音,因为扬声器和设备的其余部分之间不再有任何连接 .

  • 1

    我没有找到比使用媒体播放器卷视图的一部分更好的方法 .

    接下来是代码片段:

    // Display the audio route button (Bluetooth / Speaker / iPhone)
    UIView *mpVolumeViewParentView = [[UIView alloc] initWithFrame:CGRectMake(5, 50, 50, 40)];
    mpVolumeViewParentView.backgroundColor = [UIColor clearColor];
    mpVolumeViewParentView.clipsToBounds = YES;
    
    MPVolumeView *systemVolumeSlider = [[MPVolumeView alloc] initWithFrame:CGRectMake(-290, 0, 320, 40)];
    [mpVolumeViewParentView addSubview:systemVolumeSlider];
    [systemVolumeSlider release];
    
    [self.view addSubview:mpVolumeViewParentView];
    [mpVolumeViewParentView release];
    

    这不是完美的解决方案,但它可以完成工作 .

  • 0

    显然,用户仅通过设备激活或音量控制来控制音频路由是Apple的预期用户体验 . 常规开发人员无法使用手机应用程序执行的操作 .

    “应用程序实际上并没有随时随地传送音频(甚至不是Apple应用程序!)......我们(引擎盖下)将音频发送到用户想要的位置 . ”

    http://lists.apple.com/archives/coreaudio-api/2009/Oct/msg00030.html

  • 1

    从iOS 4.2开始MPVolumeView有两个属性来禁用不需要的元素:

    showsVolumeSlider
    showsRouteButton
    

相关问题