如何控制应用的输出音量。
我有一个使用https://github.com/mattgallagher/AudioStreamer从互联网流式播放mp3文件的应用。 AudioStreamer
类无法更改输出音量,我也不想更改系统音量。
许多应用都是这样做的:
编辑:如果您听说过AudioStreamer,我已经切换到Apple的AVPlayer,我发现它更加简单和优越。轻松调节音量!
答案 0 :(得分:2)
AudioStreamer
我猜大多数OSX媒体播放器都使用AudioToolbox框架。 AudioToolbox使用名为AudioQueue
的编程接口来播放媒体文件。以下是使用AudioQueue
调整音量的方法。
AudioQueueSetParameter(audioQueue, kAudioQueueParam_Volume, 0.5);
audioQueue
是一个AudioQueRef kAudioQueueParam_Volume
告诉AudioQueueSetParameter()
更改音量参数0.5
是0.0 - 1.0 有关AudioQueue的更多详情:https://developer.apple.com/library/mac/#documentation/MusicAudio/Reference/AudioQueueReference/Reference/reference.html
答案 1 :(得分:0)
您可以使用AVAudioPlayer
,它有一个实例方法setVolume:
来设置输出音量:
AVAudioPlayer * audioPlayer = ...
float volume = aVolumeValue / 100.f; // aVolumeValue can be 0~100
[audioPlayer setVolume:volume];
[audioPlayer play];
顺便说一下,您可以将aVolumeValue
存储到NSUserDefaults
中,并通过UISlider
对象控制它。