0

我如何控制我的应用程序的输出音量。

我有一个应用程序,它使用https://github.com/mattgallagher/AudioStreamer从 Internet 流式传输 mp3 文件。该AudioStreamer课程无法更改输出音量,我不想更改系统音量。

许多应用程序这样做:

  • iTunes
  • Spotify
  • MPlayerX
  • 大多数音频播放器

编辑:如果您听说过 AudioStreamer,我已经切换到 Apple 的 AVPlayer,我发现它更简单、更优越。音量调节也很简单!

4

2 回答 2

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

于 2012-09-28T23:49:58.973 回答
0

您可以使用AVAudioPlayer,它有一个实例方法setVolume:来设置输出音量:

AVAudioPlayer * audioPlayer = ...
float volume = aVolumeValue / 100.f; // aVolumeValue can be 0~100
[audioPlayer setVolume:volume];
[audioPlayer play];

顺便说一句,您可以存储aVolumeValueinto ,并通过对象NSUserDefaults控制它。UISlider

于 2012-09-28T09:07:11.633 回答