2016-02-17 14 views
3

我正在使用AVSpeechSynthesizer在我的应用程序中将文本转换为语音。此应用程序在一定的时间间隔后读取文本在应用程序运行时将iPhone的音量控制转移到应用程序

每当应用程序在说话时,如果按下设备的音量按钮,它会更改当前语音的音量以及设备的媒体音量。 (也就是说,如果有任何音乐正在播放,并且AVSpeechSynthesizer开始说话,则音乐会暂停,并且只要演讲结束,它就会恢复。因此,如果我更改了音量,它也会应用到音乐播放器的音量上。)

应用程序运行时可能强制音量控制按钮单独更改应用程序音量?

PS。该应用程序适用于iOS 8.0+。

任何帮助,将不胜感激。

谢谢。

+0

作为一个附注,问题被标记为[objective-c]和[swift]。你是在同一个项目中使用两个还是你在使用一个特定的项目? – tktsubota

+0

迅速。我错误地添加了Objective-C标志。谢谢你指出。 – Preety

回答

0

据我所知,您希望在应用程序中单独控制音量,而不会影响设备音量。这听起来很难&我不认为它是可以实现的。

有一个选项,你可以在这里尝试一下我已经解释过:

  • 同时存储设备音量&应用量在App值
  • 在使用应用程序的音量控制不改变应用程序的体积,只是存储在应用程序体积值
  • 现在同时播放任何在App变化量与App音量值
  • 一旦你完成播放只是改变体积设备音量值

重要提示:

  • 这是控制声音在App,而不会影响系统卷的纯逻辑的方式。你不会在应用程序文档中的任何地方找到这种方式。

编辑:

如果你想使应用程序的体积,因为它是同时按下设备音量按钮。你可以尝试这个步骤。它看起来没有测试,但可能工作。

  • 检查是否在应用程序,如果你可以不断检查设备的音量值更新。
  • 如果您收到设备音量更改的通知,请在应用程序中进行一些操作。当它从设备音量按钮改变的同时,您可以从App重新设置它。

我希望它能帮助你。

+0

感谢您的回答。添加一个单独的音量控制是一个解决方案,但我不想在应用程序发言时按下设备音量按钮时更改音乐播放器的音量。 – Preety

+0

@Preety只是检查我的答案编辑。可能会帮助你。 – Mayur

1

不,你不能截取硬件音量并只调整你的应用音量,它不是为此设计的。然后OS需要跟踪每个应用的所有卷,并且例如如果您将AudioBus与多个应用音频流链接在一起运行。

您需要重新考虑您的问题。要控制应用的音量,请将音量控制添加到用户界面。

+0

是的,我明白这个问题。也许在应用程序中添加单独的音量滑块是唯一的解决方案。 – Preety

相关问题