Възпроизвеждането на аудио чрез url не работи на iOS7

В моето приложение имам аудио url. Искам да възпроизведа аудиото, използвайки този URL адрес на моето устройство. Изглежда не работи.

Ето кода, който използвам.

- (IBAction)play:(id)sender {

     NSURL *url = [NSURL URLWithString:@"http://jesusredeems.in/media/Media Advt/mp3_player/Songs/viduthalaiyin geethangal_vol1/93.Ellame Koodum.mp3"];

     NSData *data = [NSData dataWithContentsOfURL:url];

     AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithData:data error:nil];

     [audioPlayer play];
}

Използвах горния код. Не работи. Моля, кажете ми къде бъркам в горния код.


person Shanthanu    schedule 30.05.2014    source източник


Отговори (2)


Трябва да добавите процентно екраниране в низа на заявката си, също така трябва да декларирате AVAudioPlayer като глобална променлива.

Така че напишете свойството във вашето разширение на клас:

@property (nonatomic, strong) AVAudioPlayer *audioPlayer;

И променете метода си като:

- (IBAction)play:(id)sender
{
     NSString *urlstr = @"http://jesusredeems.in/media/Media Advt/mp3_player/Songs/viduthalaiyin geethangal_vol1/93.Ellame Koodum.mp3";
     urlstr = [urlstr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
     NSURL *url = [NSURL URLWithString:urlstr];
     NSData *data = [NSData dataWithContentsOfURL:url];
     _audioPlayer = [[AVAudioPlayer alloc] initWithData:data error:nil];
     [_audioPlayer play];
}
person Midhun MP    schedule 30.05.2014
comment
@Midhum MP, използвах вашия код, аудиото му не се възпроизвежда, просто показва бутона, избран за няколко минути, не работи - person Shanthanu; 30.05.2014
comment
@Midhum MP играе, но отнема твърде много време за игра, има ли някакъв начин да направите играта бърза - person Shanthanu; 30.05.2014
comment
@user3614966: Отнема твърде много време, тъй като изтегляте файла чрез синхронен метод, имате нужда от нещо като аудио стрийминг - person Midhun MP; 30.05.2014
comment
@Midhum MP, моля, предложете ми как да правя аудио стрийминг, защото съм нов за разработката на ios - person Shanthanu; 30.05.2014
comment
@user3614966: Можете да използвате кода, споменат тук: stackoverflow.com/questions/11716244/ - person Midhun MP; 30.05.2014
comment
аз също искам да пусна mp3 песен от даден url. Следвах всички кодове по всички възможни начини, но песента просто не се възпроизвежда. и аз също препоръчах вашия код, но нищо не се случи. така че, моля, насочете ме как да пусна песен, използвайки url връзка. - person Moxarth; 21.09.2017
comment
@Moxarth: Получавате ли някаква грешка? Можете ли да публикувате нов въпрос с проблема, пред който сте изправени? - person Midhun MP; 22.09.2017
comment
проблемът е решен. Благодаря . вашият код работи. Имах някои мрежови проблеми и след това грешка на appTransportSecurity, просто използвах AVPlayer вместо AVAudioPlayer и след това започна да работи. благодаря много. - person Moxarth; 22.09.2017

Трябва да добавите процентно кодиране на %20 от пространството в URL адреса

  NSString *strURl=@"http://jesusredeems.in/media/Media Advt/mp3_player/Songs/viduthalaiyin geethangal_vol1/93.Ellame Koodum.mp3";
        NSURL *url = [NSURL URLWithString:[strURl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

ако все още не работи, използвайте делегирани методи

audioPlayer = self;

Използвайте делегирани методи

 -(void)audioPlayerDecodeErrorDidOccur:
    (AVAudioPlayer *)player
                                    error:(NSError *)error
    {
        NSLog(@"%@",error);
    }
person Sunny Shah    schedule 30.05.2014
comment
Shan, използвах вашия код, аудиото му не се възпроизвежда, просто показва избрания бутон за няколко минути, той не работи - person Shanthanu; 30.05.2014
comment
Shan играе, но отнема твърде много време за игра, има ли начин да направите играта бърза - person Shanthanu; 30.05.2014
comment
зависи от интернет връзката, но можете да използвате фоновата нишка, така че няма да повлияе на основната нишка - person Sunny Shah; 30.05.2014
comment
Шан, моля, кажете ми, предложете ми някои идеи относно фоновата нишка как да го направя тук, тъй като съм нов за разработката на ios, не съм наясно с тези неща - person Shanthanu; 30.05.2014