avfoundation - 如何获得系统卷 iOS?

标签 avfoundation audiotoolbox

我找到了一个例子 here , 但它不适用于 ios6.1.3 (iphone 4s)。 总是返回 0.187500

代码:

Float32 volume;
UInt32 dataSize = sizeof(Float32);

AudioSessionInitialize (NULL, NULL, NULL, NULL);
AudioSessionGetProperty (
                     kAudioSessionProperty_CurrentHardwareOutputVolume,
                     &dataSize,
                     &volume
                     );
NSLog(@"%f", volume);

[AVAudioSession sharedInstance].outputVolume - 也返回 0.187500

最佳答案

您需要初始化 Audio Session :

AudioSessionInitialize (NULL, NULL, NULL, NULL);

viewDidLoad 或类似中。

但是,通常最好使用新的 AVAudioSession如果你的目标是 iOS 6+,它会为你处理这个类:

float volume = [AVAudioSession sharedInstance].outputVolume;

关于avfoundation - 如何获得系统卷 iOS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18257199/

相关文章:

ios - AVAsset 视频调整时长

ios - AVPlayer seekToTime : doesn't use buffer

ios - 连接节点错误 kAudioUnitErr_PropertyNotWriteable 时 AudioToolbox AUGraph 失败

ios - 从麦克风捕获音频时,我陷入了内存泄漏或音频中的过多静电之间

ios - AudioFileWriteBytes (AudioToolbox) 失败,错误代码为 -38 kAudioFileNotOpenError

ios - AVAssetExportSession 间歇性错误 11820 "Cannot Complete Export"建议=再次尝试导出

ios - 如何使用 AVPlayer 在备用音频流之间切换

ios - 从频域到时域

xcode - 在 ios 8 及更高版本中设备处于静音模式时播放声音

objective-c - Speex 编码/解码导致嘶嘶声(Objective-c)