IOS查询当前音量

Posted

技术标签:

【中文标题】IOS查询当前音量【英文标题】:IOS Query current audio volume 【发布时间】:2015-09-29 16:04:38 【问题描述】:

我正在编写一个应用程序以允许本地存储的 mp3 文件播放以及从服务器流式传输。

我用

  AVAudioPlayer *player;
  AVPlayer *player2;

取决于播放的类型。如何查询最初的设备音量级别,以便我可以将 volume.slider 设置为其初始值?

【问题讨论】:

【参考方案1】:

首先,导入:

#import <AVFoundation/AVAudiosession.h>

然后获取The system wide output volume set by the user 使用:

float volume = [[AVAudioSession sharedInstance] outputVolume];

【讨论】:

谢谢Hong,我还以为是这样,但是每次调用它,返回值都是“1”。 模拟器上总是1,在设备上试试吧。 所以当我在设备上执行此操作时,音量为 .1235,这是正确的。如果然后我将滑块一直向右移动,音量会变大,但是当我按下设备的音量键时,它只显示 3 个小节的音量。为什么滑块没有更新设备音量 UI? 属性 player.volume 是控制一个音频播放器相对于其他音频输出的音量,而不是系统音量,也就是说你可以有多个播放器,每个播放器都有自己的音量。 为什么不使用MPVolumeView?系统范围的输出音量只能由用户直接设置;要在您的应用中提供音量控制,请使用 MPVolumeView 类。如果你必须自己做,检查这个问题:***.com/q/3651252/971070

以上是关于IOS查询当前音量的主要内容,如果未能解决你的问题,请参考以下文章

获取IOS5当前音量

iOS 声音播放音量不考虑音量变化或静音

在 iOS 中获取 AVPlayer 的音量

如何在iOS上获得音量级别和音量更改通知?

[IOS] 监听音量变化监听音量按键及隐藏系统音量UI

iOS 应用中调整手机系统音量