SORU
13 Mart 2012, Salı


AVAudioPlayer hata ayıklama modunda kesme atar

Her zaman ben bu satırda bir kesme noktası ayarlamak olmuş gibi duruyor app yük:

self.audioPlayer = 
 [[[AVAudioPlayer alloc] initWithData:[dataPersister loadData:self.fileName] 
                                error:&outError] autorelease];

Kesme veya üstünde bu çizginin yakınında herhangi bir yer yok. Sadece kesme sonra hata ayıklama modu ve hiçbir şey çöküyor uygulamayı çalıştırdığımda oluyor. App tıklayın, hiçbir şey olmamış gibi çalışır "programı yürütme". Devam

Bu initWithData denilen loadData yöntemi

-(NSData*)loadData:(NSString*)fileName
{
    NSString *dataPath = [self.path stringByAppendingPathComponent:fileName];
    dataPath = [dataPath stringByStandardizingPath];
    NSData *data = [[[NSData alloc] initWithContentsOfFile:dataPath]autorelease ];
    return data;
}

LoadData işlevi iyi çalışıyor gibi görünüyor. İstenilen mp3 dosyası yüklenir ve kesme sonra herhangi bir sorun olmadan oynadı.

Neyi yanlış yaptığım hakkında bir fikrin var mı?

DÜZENLEME: Kesme noktasında durur zaman bir geri iz koştum. Bu çıkış oldu:

(lldb) bt
* thread #1: tid = 0x1c03, 0x30df1724 libc  abi.dylib`__cxa_throw, stop reason = breakpoint 1.2
    frame #0: 0x30df1724 libc  abi.dylib`__cxa_throw
    frame #1: 0x36403a24 AudioToolbox`ID3ParserHandle::ID3ParserHandle(void*, long (*)(void*, unsigned long, unsigned long, unsigned long, void**, unsigned long*))   452
    frame #2: 0x36403b0e AudioToolbox`ID3ParserOpen   142
    frame #3: 0x3635bd16 AudioToolbox`MPEGAudioFile::ParseID3Tags()   58
    frame #4: 0x3635b9aa AudioToolbox`MPEGAudioFile::ParseAudioFile()   26
    frame #5: 0x3631723e AudioToolbox`AudioFileObject::DoOpenWithCallbacks(void*, long (*)(void*, long long, unsigned long, void*, unsigned long*), long (*)(void*, long long, unsigned long, void const*, unsigned long*), long long (*)(void*), long (*)(void*, long long))   166
    frame #6: 0x36316480 AudioToolbox`AudioFileOpenWithCallbacks   612
    frame #7: 0x31f4c1ec AVFoundation`-[AVAudioPlayer initWithData:error:]   120

"": . ÇÖZÜM Ben tüm özel durumlar için istisna kesme devre dışı bırakmak ve sadece Objective-C özel durumlar sorun kaybolur için kesme kullanmak durumunda olduğu ortaya çıktı. Ama AVAudioPlayer tahsisi C bir istisna atar bu sorunu çözmez.

CEVAP
22 EKİM 2012, PAZARTESİ


İstisna, kesme noktası eklemek ve bu özel durum türü düzenleme "" "Objective-C özel durumlar"

AudioToolbox bazı derslere düzenli C istisna atar. Onları bu şekilde filtre dışı bırakabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • The Bad Tutorials

    The Bad Tuto

    6 EKİM 2009
  • TopOfTheTech

    TopOfTheTech

    5 NİSAN 2010
  • WiseOwlTutorials

    WiseOwlTutor

    21 EKİM 2011