在iPhone模拟器中关闭声音

时间:2010-07-07 14:32:41

标签: ios objective-c xcode macos ios-simulator

iPhone Simulator中是否可以选择关闭声音? 或者调整音量?

11 个答案:

答案 0 :(得分:22)

部分成功 - 没有好的选择

iPhone模拟器在启动时选择当前选定的输出。使用Soundflower插件并将音频发送到无处,我启动了iPhone模拟器。如果然后切换到另一个工作输出,模拟器将保持“静音”,直到您重新启动模拟器。因此,通常,您可以尝试欺骗模拟器输出到死胡同输出。

实验设置 - 示例视频播放器

我正在努力解决这个问题,并且第一步创建了一个演示视频播放器应用程序。您可以从GitHub下载VideoPlayer进行自己的实验。

首次尝试 - 使用第三方应用将其静音

使用Rogue Amoeba的Audio Hijack Pro试图劫持音频流并将其静音。这不起作用并使模拟器崩溃。联系支持他们报告说,iPhone模拟器做了一些阻止他们劫持音频的事情。我还调查了SoundflowerJack

第二次尝试 - 应用内静音

我想也许你可以制作一个调试选项,在应用程序和模拟器上的声音会被静音。但是,在应用程序中,只有私有API才能使设备静音或减少音量。在书中iPhone Open Application Development第6章,示例“我的音量是什么”给出了通过AVSystemController操纵系统范围声音的示例代码。探索这条路线可能很有趣,但要将其变成武器化工具需要一个因为你需要针对私有头进行编译,所以很麻烦。

想法三

找到一个命令行选项,传递给将声音静音的Springboard或iPhone模拟器,或重新启用模拟器中的音量控制,当然还能启动调试器。

增强请求

我为iPhone模拟器音量控制,请求13428429以及Mac OS X中的每个应用程序音量控制提交了Apple Bug Report增强请求,请求13428420.如果您需要这些功能,请提交您自己的错误。

答案 1 :(得分:6)

打开iOS模拟器,按硬件>减小音量(⌘↓)直到它静音! 我认为它是在Xcode 9.2中添加的,只有在运行iOS 11及以上版本的IE时才可用。

答案 2 :(得分:4)

您可以使用类似......

的内容
#if DEBUG

   [ myAudioController setVolume: .1 ];

#endif

这种方式在测试期间,应用程序的音量会更低。

答案 3 :(得分:3)

我遇到了这个问题-我的(正在工作的)音乐音频在到达我的耳机之前就已经通过iOS模拟器进行了路由,从而使音乐变得微妙而低劣。这使得在Sim中进行开发变得非常烦人。幸运的是,有一个简单的解决方法:

  • 在模拟器中,路由Mac麦克风传来的声音
  • 仍然在模拟器中,通过Mac的扬声器或您未使用
  • 的任何其他音频通道路由传出的音频

更改传入的音频路由:

更改外发音频路由:

答案 4 :(得分:1)

参考:iOS Simulator Sound

  

输入和输出设备在系统声音设置中非常匹配。通常你会将它们设置为不同的设备。如果它们不匹配,则模拟器似乎默认为在输入和输出设备中选择的最后连接的音频设备。

我希望它能以任何方式帮助你。

答案 5 :(得分:1)

1)下载Loopback应用

2)在Loopback中,创建一个新的虚拟音频设备(单击New virtual device)。如果你愿意,可以重命名它(我将其命名为Blackhole)。

3)在模拟器中,单击Hardware > Audio output并选择刚刚创建的虚拟音频设备的名称。

Loopback

iOS Simulator

答案 6 :(得分:1)

就我而言,我只是将音频输出设置为静音的地方。就像我的外屏一样:)

答案 7 :(得分:1)

tvOS模拟器解决方案:

转到菜单->常规->视频和音频->关闭“导航点击”和“音效和音乐”

enter image description here

答案 8 :(得分:1)

您仍然可以按模拟器上的静音按钮,就像它是真实设备一样:

enter image description here

答案 9 :(得分:0)

[[MPMusicPlayerController applicationMusicPlayer] setVolume:0.0]; 

这适用于设备,只需试一试模拟器。 How do you set the hardware volume in an iPhone app?

您甚至可以尝试使用此线程的反向来查看。 Sound not working in iPhone Simulator?

答案 10 :(得分:-1)

简单的解决方案。

  • 确保Mac中有2个输出。例如,内置 扬声器和耳机。

  • 关闭iOS模拟器。

  • 将输出源更改为您未使用的输出源(按住alt键单击 顶部栏中的发言人。)

  • 再次运行iOS模拟器。它将采用其默认输出源
    到系统中的一个。

  • 将输出源更改为您正在使用和享受的输出源。 iOS 当系统更改模拟器时,模拟器不会更新它的输出源。