Получить аудиопоток из URI и воспроизвести его на iPhone

Я хочу получить аудиопоток с URL и воспроизвести его на iPhone. К сожалению, есть только пример C # того, как воспроизводить этот поток, но мне нужна реализация Objective C в рамках iPhone. Я пробовал использовать разные аудиофреймворки, но все безуспешно. Вот что в C #:

response = httpWebRequest.GetResponse();
            using (Stream stream = response.GetResponseStream())
            {
                using (SoundPlayer player = new SoundPlayer(stream))
                {
                    player.PlaySync();
                }
            }

Что мне делать в цели C, чтобы получить аудиопоток с этого URL-адреса? В этом URL-адресе у меня нет mp3-файла или чего-то подобного, я просто получаю поток. Возможно, мне нужно как-то загрузить этот поток в аудиофайл iPhone, а затем воспроизвести его, чтобы избавиться от задержек.

Я пробовал это:

 AVPlayer *player = [AVPlayer playerWithURL:url];
 [player play];

И это:

AVAudioPlayer *theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL: url error:nil];

    [theAudio setVolume :0.50]; //setting the volume

    [theAudio play];

Ни то, ни другое не сработало. Я проверил свой URL, он хорошо работает в браузере.

Вот код, который работал:

NSData *_objectData = [NSData dataWithContentsOfURL:url];
    NSError *error;

    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithData:_objectData error:&error];
    audioPlayer.numberOfLoops = 0;
    audioPlayer.volume = 1.0f;
    [audioPlayer prepareToPlay];

    if (audioPlayer == nil)
        NSLog(@"%@", [error description]);
    else
        [audioPlayer play];
12
задан wzbozon 28 July 2011 в 09:39
поделиться