मेरे ऐप में मुझे 0 से अधिकतम सिस्टम वॉल्यूम (यह एक अलार्म ऐप) से ध्वनि चलाने की आवश्यकता है।ध्वनि संकेतक के बिना आईओएस में अधिकतम मात्रा में ध्वनि फ़ाइल कैसे चलाएं
मैं वर्तमान में AVAudioPlayer
का उपयोग ध्वनि चलाने के लिए और MPMusicPlayerController
अलार्म
MPMusicPlayerController.applicationMusicPlayer.volume = 1.0;
NSString *fileName = [NSString stringWithFormat:alarm.sound];
fileName = [fileName stringByDeletingPathExtension];
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:fileName ofType:@"aifc"];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil];
audioPlayer.volume = 0.0;
audioPlayer.numberOfLoops = -1;
[audioPlayer prepareToPlay];
audioPlayer.play;
और उसके बाद मैं एक टाइमर अनुसूची मात्रा बढ़ाने के लिए की अवधि के लिए डिवाइस के वॉल्यूम को अधिकतम करने के
timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(pollTimeForGradualVolumeIncrease)
userInfo:nil repeats:YES];
// धीरे-धीरे मात्रा बढ़ाएं
- (void)pollTimeForGradualVolumeIncrease
{
timerSecond += 1;
if (audioPlayer.volume < 1.0 && timerSecond % 1 == 0)
{
[audioPlayer setVolume:audioPlayer.volume + 0.02];
UISlider *slider = volumeSliderView.subviews[0];
[slider setValue:1.0 animated:NO];
}
else if (audioPlayer.volume >= 1.0)
{
timerSecond = 0;
timer.invalidate;
timer = nil;
}
}
इस समस्या में यह है कि आईओएस वॉल्यूम सूचक दिखाई देगा जब MPMusicPlayerController.applicationMusicPlayer.volume
क्या आईओएस वॉल्यूम बदलते संकेतक को प्रदर्शित किए बिना अधिकतम डिवाइस वॉल्यूम पर ध्वनि फ़ाइल चलाने का कोई तरीका है?
आपने कहा कि आप एप्लिकेशन म्यूजिकप्लेयर वॉल्यूम का उपयोग कर रहे हैं, लेकिन मुझे लगता है कि आप ऑडियोप्लेयर सेटवॉल्यूम का उपयोग कर रहे हैं जो एक AVAudioPlayer है, क्या आप स्पष्टीकरण दे सकते हैं? – Daniel
जो मैं समझता हूं उससे। ApplicationMusicPlayer आईओएस के लिए मास्टर वॉल्यूम सेट करता है और मैं ध्वनि चलाने के लिए AVAudioPlayer का उपयोग करता हूं। क्या यह सही नहीं है? मैंने http://stackoverflow.com/questions/9279233/ios-maximum-volume-level-for-avaudioplayer?rq=1 से उदाहरण का पालन किया। AVAudioPlayer ध्वनि बजाता है और धीरे-धीरे मास्टर वॉल्यूम के एक अंश से वॉल्यूम बढ़ाता है। –
मुझे नहीं लगता कि आप ऐसा कर सकते हैं, वॉल्यूम को अधिकतम सेट करने के लिए आप क्या कर सकते हैं, परिवर्तन से पहले वॉल्यूम के मान को बनाए रखें और जब आप ध्वनि बजाना बंद कर दें तो उसके मूल मूल्य पर वापस आएं ... – Ondrej