2012-09-28 50 views
0

如何控制我的應用程序的輸出音量。設置單獨的應用程序音量控件

我有一個應用程序使用https://github.com/mattgallagher/AudioStreamer從互聯網上流式傳輸MP3文件。 AudioStreamer類沒有辦法更改輸出音量,我不想更改系統音量。

許多應用程序做到這一點:

  • 的iTunes
  • Spotify的
  • MPlayerX
  • 大多數音頻播放器

編輯:如果你聽到AudioStreamer,因爲我已經切換到蘋果的AVPlayer,我發現它更簡單和優越。容易調節音量!

回答

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

0

您可以使用AVAudioPlayer,它有一個實例方法setVolume:設置輸出音量:

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

順便說一句,你可以將aVolumeValue存儲到NSUserDefaults,並通過UISlider對象控制它。

+0

我在OSX和奧迪oStreamer處理演奏。 AVAudioPlayer是否仍然可以調整應用程序的音量? –

+0

@AlexMarchant對不起,我不知道OSX .. – Kjuly

相關問題