Не удалось получить разбор байтов.ошибка: optm 1869640813 в потоковом аудио в iphone SDK - PullRequest
4 голосов
/ 19 августа 2011

Я использую в своем приложении аудиопоток. Я получаю аудиофайл с сервера и воспроизводю его с помощью аудиопотока. URL-адрес имеет вид http://182.18.140.134/ExpressPlus/audio/356108042705526/teja.mp3 когда я пытаюсь воспроизвести этот звук, генерируется предупреждение «Ошибка разбора байтов. err: optm 1869640813».

Парень, есть идеи, как это решить?

Спасибо всем, Мадан.

Ответы [ 2 ]

1 голос
/ 12 января 2012

AudioFileStreamParseBytes ожидает приема потока, оптимизированного для передачи по сети. Так, например, если вы экспортировали файл, используя AVAssetExportSession, вы должны установить это следующим образом:

AVAssetExportSession *exporter = [[AVAssetExportSession alloc] initWithAsset: songAsset
                                   presetName: AVAssetExportPresetPassthrough];

exporter.shouldOptimizeForNetworkUse = YES;

Полагаю, в вашем случае вам нужно посмотреть, как генерируется MP3, и проверить, установлен ли флаг.

Если это не поможет, взгляните на учебник Мэтта Галлахера по этому вопросу:

Потоковое воспроизведение и воспроизведение потока MP3

Он охватывает проблемы, которые могут вызвать сбой во время анализа файлов MP3.

0 голосов
/ 27 сентября 2011

Документация гласит для этого сообщения:

Невозможно создать выходные пакеты, потому что потоковые таблица пакетов аудиофайла или другая определяющая информация отсутствует или появляется после аудиоданных.

http://developer.apple.com/library/ios/#documentation/MusicAudio/Reference/AudioStreamReference/Reference/reference.html

Это в разделе «Коды результатов». Код результата kAudioFileStreamError_NotOptimized. Это сообщение довольно расплывчато, но кажется, что информация заголовка для аудио не в начале файла, как ожидалось Вы должны попробовать проверить возвращаемый аудиофайл, чтобы увидеть, как он настроен.

...