ObjectAL потоковое аудио в iphone? - PullRequest
0 голосов
/ 05 июля 2011

Я использую objectAL для потоковой передачи данных PCM,

из образца кода, который я пробовал, или воспроизводить данные потоковой передачи в режиме онлайн CGI,

   ALSource *source = [[ALSource source] retain];

   ALBuffer *buffer = [[[OpenALManager sharedInstance] bufferFromUrl:[NSURL URLWithString:[[OpenALManager sharedInstance]bufferAsyncFromUrl:[NSURL URLWithString:@"someURL/somedata.cgi"] target:self selector:@selector(recievedBufferData:)]]] retain];

   source.position = alpoint(planet.position.x, planet.position.y, 0);
   source.referenceDistance = 50;
   [OpenALManager sharedInstance].currentContext.listener.position = alpoint(rocketShip.position.x, rocketShip.position.y, 0);

    self.isTouchEnabled = YES;
    [source play:buffer loop:YES];
}


-(void)recievedBufferData:(id)recievedData{
    NSLog(@"recieved");
}

Я получаю следующую ошибку

Ошибка OAL: - [OALAudioFile initWithUrl:reduceToMono:]: Не удалось открыть URL-адрес некоторого url / somefile.cgi (код ошибки 0xffffffd5: Неизвестная ошибка ext audio)

Но метод recceiveBufferData: вызывается только один раз

Я не могу воспроизвести файл .cgi, может кто-нибудь подсказать мне, как воспроизвести файл .cgi в iphone.

1 Ответ

0 голосов
/ 22 июля 2011

Я пробую нечто подобное, но не могу решить.

Просто хотел спросить, я думаю, что есть какая-то ошибка в следующей строке кода ?:

ALBuffer *buffer = [[[OpenALManager sharedInstance] bufferFromUrl:[NSURL URLWithString:[[OpenALManager sharedInstance]bufferAsyncFromUrl:[NSURL URLWithString:@"someURL/somedata.cgi"] target:self selector:@selector(recievedBufferData:)]]] retain];

Почему вы вызываете bufferFromUrl и bufferAsyncFromUrl?

Кстати, я могу выполнить эту работу, используя локальный файл:

buffer = [[[OpenALManager sharedInstance] bufferFromFile: @ "ColdFunk.caf"] сохранить]; нг

...