2013-09-25 3 views
0

Я получаю данные буфера с моего сервера;IOS не может воспроизводить аудиоданные

len = [inputStream read:buffer maxLength:sizeof(buffer)]; //Getting data from server 
    if (len > 0) { 
      NSData *audioData = [[NSData alloc]initWithBytes:buffer length:len]; 
       if (nil != audioData) { 


     [[mainSounds alloc]initSounds:audioData]; 

     } 
} 

теперь мои mainSounds класс

-(id)initSounds : (NSData *) audioData{ 

    NSError *error; 
    testAudioPlayer=[[AVAudioPlayer alloc] initWithData:audioData error:&error]; 
    NSLog(@"Player played %d and error %@",[testAudioPlayer play],[error userInfo]); 

    return self; 

} 

я также играл статический аудио файл, он прекрасно работает и звук воспроизведения. давая NSLog -> игрок играл 1

, но когда я попробовал свои данные сервера, то он говорит, что игрок играл 0 и ошибок {}

я проверить NSData от сервера в NSLog

AUDIO DATA <6f06af08 b209cd09 0a0aed0a 000c870c 6f0c5b0c dc0cc70d 820ec00e cc0e270f f20fd710 5d117b1c 6136013f aa28c112 050d070b 291b1235 812faf14 8e0a050b 18080a> 

является их любая проблема в моей NSData ..

ответ

0

попробовать следующий код

NSString *urlString = [[NSString alloc] initWithData: audioData encoding:NSUTF8StringEncoding]; 
NSURL *url = [[NSURL alloc] initWithString:urlString]; 

NSData *finalDATA = [NSData dataWithContentsOfURL:url]; 
[[mainSounds alloc]initSounds: finalDATA]; 

И в методе initSounds

NSError *error; 
testAudioPlayer =[[AVAudioPlayer alloc] initWithData:finalDATA error:&error]; 
[testAudioPlayer play]; 
+0

Это то, что я получил после попытки выше code.'NSInvalidArgumentException», причина: '*** - [NSURL initWithString: relativeToURL]: ноль параметр строка' – shujatAli

+0

Сначала проверьте 'audioData' равно нулю или нет? – iPatel

+0

audioData не nil я проверил ... – shujatAli

Смежные вопросы