2009-02-21 4 views
9

पर वर्तमान सिस्टम वॉल्यूम लेवल प्राप्त करें क्या कोई तरीका है कि मैं आईफोन पर मौजूदा सिस्टम वॉल्यूम लेवल प्राप्त कर सकता हूं?आईफोन

मुझे लगता है कि MPVolumeView बनाने का कोई तरीका है और उससे मूल्य प्राप्त करें।

उत्तर

25
musicPlayer = [[MPMusicPlayerController iPodMusicPlayer]; 

currentVolume = musicPlayer.volume; 

यह अब iOS8 के रूप में हटा दिया गया है: दुर्भाग्य से यह इतना एप्पल के लिए एक निजी वर्ग App स्टोर प्रस्तुतियाँ

यह मदद करता है, तो आप सार्वजनिक MPVolumeView वर्ग थोड़ा दुरुपयोग कर सकते हैं में इसे स्वीकार नहीं करेंगे है .0 इसलिए कोशिश निम्नलिखित

#import <AVFoundation/AVAudioSession.h> 

AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 
CGFloat volume = audioSession.outputVolume; 
+0

यह असली जवाब है! –

+2

यह संगीत वॉल्यूम स्तर देता है, सिस्टम वॉल्यूम स्तर नहीं। –

+0

वे एक हैं और वही हैं। – amergin

2

सेलेस्टियल.फ्रेमवर्क में AVSystemController कक्षा है जो आपको वर्तमान वॉल्यूम प्राप्त करने और सेट करने देती है। http://www.stormyprods.com/blogger/2008/09/proper-usage-of-mpvolumeview-class.html

+0

मैं ऐसा कैसे याद किया? धन्यवाद! –

+0

नमस्ते, rpetrich, क्या MPVolumeView के माध्यम से सिस्टमव्यापी वॉल्यूम को बदलना संभव है ... – iXcoder

+0

रॉबिन: हाँ, यह संभव है, लेकिन अगर आप ऐसा करते हैं तो स्टोर में अपना ऐप रखने की उम्मीद न करें (और वहां बहुत आसान तरीके उपलब्ध हैं सेलेस्टियल में आसान पहुंच) – rpetrich

0

अपने प्रोजेक्ट में MediaPlayer फ्रेमवर्क जोड़े

enter image description here

ज (हैडर फ़ाइल)

{ 

    MPMusicPlayerController *musicPlayer; 

} 

मीटर (कार्यान्वयन फ़ाइल)

- (void)viewDidLoad 

{ 

//get device volume level 

    musicPlayer = [MPMusicPlayerController iPodMusicPlayer]; 

    float deviceVolumeLevel = musicPlayer.volume; 

    NSLog(@"Current device volume level : %f",deviceVolumeLevel); 
} 
0

तेज 3.0

..

import AVKit 
.. 
    // get current level: 
    let audioSession = AVAudioSession.sharedInstance() 
    let volume : Float = audioSession.outputVolume