मैं एक छोटे से ऐप पर काम करता हूं जहां मैं अपने स्थान नियंत्रक से किसी ईवेंट पर ध्वनि फ़ाइल चलाने के लिए चाहता हूं। समस्या तब होती है जब ऐप पृष्ठभूमि मोड में होता है AVAudioPlayer ऑडियो फ़ाइल प्रारंभ नहीं करता है लेकिन कोड निर्धारित होता है, NSLog आउटपुट प्राप्त करता है। एक और बात यह सिम्युलेटर में काम करती है लेकिन फोन पर नहीं।आईओएस: पृष्ठभूमि में ऐप के दौरान ध्वनि चलाएं
Whys नहीं?
- (void)tryPlayTaleSound:(NSString*)fileName {
NSString *backgroundMusicPath = [[NSBundle mainBundle] pathForResource:fileName ofType:@"mp3"];
NSURL *backgroundMusicURL = [NSURL fileURLWithPath:backgroundMusicPath];
NSError *error;
backgroundMusicPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:backgroundMusicURL error:&error];
// Check to see if iPod music is already playing
//UInt32 propertySize = sizeof(otherMusicIsPlaying);
//AudioSessionGetProperty(kAudioSessionProperty_OtherAudioIsPlaying, &propertySize, &otherMusicIsPlaying);
// Play the music if no other music is playing and we aren't playing already
//if (otherMusicIsPlaying != 1 && !backgroundMusicPlaying) {
//[backgroundMusicPlayer prepareToPlay];
[backgroundMusicPlayer play];
backgroundMusicPlaying = YES;
//}
NSLog(@"%s - ", __FUNCTION__);
}
लॉग इम इस हो रही में:
इस फ़ाइल में खेलने के लिए मेरी कोड है।
Apr 26 13:57:48 iPhone CommCenter[58] <Notice>: Client [com.apple.persistentconnection[dataaccessd,85]] is telling PDP context 0 to go active.
Apr 26 13:57:50 iPhone Herning100[1467] <Warning>: Playing audiofile - filename is Fil03
Apr 26 13:57:50 iPhone mediaserverd[39] <Warning>: 13:57:50.653 <AudioControl> WARNING translating CMSession error: -12985
Apr 26 13:57:50 iPhone mediaserverd[39] <Warning>: 13:57:50.656 <AudioControl> WARNING translating CMSession error: -12985
Apr 26 13:57:50 IPhone mediaserverd[39] <Error>: 13:57:50.734 <AudioControl> AudioQueue: Error -12985 from AudioSessionSetClientPlayState(1467)
Apr 26 13:57:50 iPhone Herning100[1467] <Warning>: -[AppDelegate tryPlayTaleSound:] -
Apr 26 13:57:50 iPhone com.apple.debugserver-199[1465] <Warning>: 9 +28.832083 sec [05b9/0303]: error: ::mach_vm_region_recurse (task = 0x1603, address => 0xfffffffe, size => 0, nesting_depth => 1024, info => 0x2fd7fe48, infoCnt => 12) addr = 0xfffffffe err = (os/kern) invalid address (0x00000001)
Apr 26 13:57:51 iPhone com.apple.debugserver-199[1465] <Warning>: 10 +0.187961 sec [05b9/0303]: error: ::mach_vm_region_recurse (task = 0x1603, address => 0xfffffffe, size => 0, nesting_depth => 1024, info => 0x2fd7fe48, infoCnt => 12) addr = 0xfffffffe err = (os/kern) invalid address (0x00000001)
वहाँ एक अंतर अगर मैं AVAudioPlayer या AVAudioSession इस्तेमाल होता है।?
उम्मीद है कि कोई मदद कर सकता है।
/लासे
मुझे आशा है कि यह लिंक आपकी मदद कर सकता है। http://stackoverflow.com/questions/6785925/how-to-playing-audio-in-background-mode-when-if-i-click-on-iphone-button-to-min – rir