我想玩从互联网加载的声音文件,所以我试图从iPhone SDK SpeakHere示例开始。我录制了声音,然后保存并上传到互联网,我可以从声音工具中下载该文件并播放,没有任何问题。但当我尝试从SpeakHere播放该URL时,我会收到错误程序收到信号:“EXC_BAD_ACCESS”
。
在进行调试后,我发现在 -[AudioPlayer calculateSizesFor:]
中,它将 bufferByteSize
设为一个巨大的数字 806128768,导致缓冲分配失败。
那是因为在
AudioFileGetProperty(audioFileID, kAudioFilePropertyPacketSizeUpperBound, &propertySize, &maxPacketSize);
返回的maxPacketSize
为806128768。
我想知道如何使AudioFileGetProperty
正常工作。
My sound file is here, you could right-click and download from here.
我正在使用这种方式来设置-[AudioViewController playOrStop]
方法中的URL:
// AudioPlayer *thePlayer = [[AudioPlayer alloc] initWithURL: self.soundFileURL];
AudioPlayer *thePlayer = [[AudioPlayer alloc] initWithURL:
[NSURL URLWithString: @"http://chineseresume.com/localbiz/uploads/myfilename_7_Recording.caf"]];
任何建议都非常欢迎。