我正在使用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:]
: Could not open url some url/somefile.cgi(错误码0xffffffd5: Unknown ext audio Error)
但是方法receiveedbufferdata:只被调用一次
我无法播放。cgi文件,谁能告诉我如何在iphone中播放。cgi文件
我正在尝试类似的东西,但无法解决它。
只是想问一下,我认为有一些错误在下面的代码行?:
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:@"caf")保留);ng