Я хотел бы воспроизвести звуковой файл, загруженный из Интернета, поэтому я попытался начать с примера iPhone SDK SpeakHere. Я записал звук, затем сохранил и загрузил в Интернет, я мог скачать этот файл и без проблем играть с помощью звуковых инструментов. Но когда я пытался воспроизвести этот URL из SpeakHere, я получаю сообщение об ошибке Program received signal: “EXC_BAD_ACCESS”
.
После трассировки я обнаружил, что в -[AudioPlayer calculateSizesFor:]
он установил для bufferByteSize
огромное число 806128768, что вызвало сбой выделения буфера.
И это потому, что в
AudioFileGetProperty(audioFileID, kAudioFilePropertyPacketSizeUpperBound, &propertySize, &maxPacketSize);
Возвращается maxPacketSize
806128768.
Мне интересно, как заставить AudioFileGetProperty
работать.
Мой звуковой файл здесь ,
Вы можете щелкнуть правой кнопкой мыши и загрузить с здесь .
Я использую этот способ для установки URL в методе -[AudioViewController playOrStop]
:
// AudioPlayer *thePlayer = [[AudioPlayer alloc] initWithURL: self.soundFileURL];
AudioPlayer *thePlayer = [[AudioPlayer alloc] initWithURL:
[NSURL URLWithString: @"http://chineseresume.com/localbiz/uploads/myfilename_7_Recording.caf"]];
Любые предложения приветствуются.