एक कार्यरत अनुप्रयोग में ध्वनि जोड़ने के लिए AVAudioPlayer का उपयोग करके, यह तैयार करने के लिए तैयार/लटकता है। ध्यान दें कि यह भी खेल पर रोकता है/लटकता है। "प्रोग्राम निष्पादन जारी रखें" मारना कई बार एप्लिकेशन को फिर से शुरू करता है। यह समस्या केवल सिम्युलेटर में प्रोग्राम चलाते समय होती है।एक्सकोड तैयार करने पर रोकता है टॉप्ले
Xcode 4,6
कोड स्निपेट का उपयोग करना:
ViewController.h
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@interface ViewController : UIViewController <AVAudioPlayerDelegate>
@end
ViewController.m
#import "ViewController.h"
@interface ViewController()
{
}
@property (nonatomic, strong) AVAudioPlayer *audioPlayer;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[self initilizeAudio];
}
- (void)initilizeAudio
{
NSError *error = nil;
NSURL *audioURL = [[NSBundle mainBundle] URLForResource:@"Background" withExtension:@"mp3"];
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioURL error:&error];
if (error)
{
NSLog(@"Error in audioPlayer: %@", [error localizedDescription]);
}
else
{
[self.audioPlayer setDelegate:self];
[self.audioPlayer prepareToPlay];
}
}
@end
स्टैक ट्रेस
0 __cxa_throw
21 -[AVAudioPlayer prepareToPlay]
22 -[ViewController viewDidLoad]
.
.
.
स्पष्ट रूप से मुझे अभी तक अपने प्रश्नों का उत्तर देने की अनुमति नहीं है। तो एक टिप्पणी में जवाब प्रदान करते हैं। समस्या आम तौर पर "सभी अपवाद" पर सेट ब्रेकपॉइंट के साथ विकसित होती थी, और वास्तविक अपवाद फेंक दिया गया था __cxa_throw। जो सी ++ पुस्तकालयों में स्पष्ट रूप से सामने आता है जिनका उपयोग AVAudioPlayer को लागू करने के लिए किया जाता है। ब्रेकपॉइंट को "ऑल ऑब्जेक्टिव-सी अपवाद" में बदलकर कार्यक्रम ठीक चला गया। (यह ब्रेकपॉइंट को संपादित करके और अपवाद फ़ील्ड को ऑब्जेक्टिव-सी में बदलकर किया जा सकता है।) – zermat
[मेटा पर यह पोस्ट] के अनुसार (http://meta.stackexchange.com/a/17467) आपको 8 के लिए इंतजार करना होगा घंटों यदि आपके पास कम से कम 100 प्रतिनिधि हैं। आप 48 घंटे बाद अपना जवाब स्वीकार कर सकते हैं। – Sebastian