Я не могу воспроизвести mp3 файл с помощью AVAudioPlayer - PullRequest
3 голосов
/ 05 января 2011

Я хочу воспроизвести mp3-файл, размещенный на ресурсах, как показано ниже:

NSString *st=@"alarm_1.mp3";
NSLog(st);
NSURL* musicFile = [NSURL fileURLWithPath:st]; 

AVAudioPlayer *click = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];

//AVAudioPlayer *click1=[[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL URLWithString:@"alarm_1.mp3"]];

[click prepareToPlay];
[click play];
[click release];

, но, к сожалению, я не слышу звук, пожалуйста, помогите

Ответы [ 3 ]

6 голосов
/ 05 января 2011

Не думаю, что ваше имя файла правильное.Попробуйте этот синтаксис:

    NSURL *clickURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/alarm_1.mp3", [[NSBundle mainBundle] resourcePath]]];  
    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:clickURL error:nil];
2 голосов
/ 19 июня 2013

У меня была похожая проблема из-за ARC. Вместо определения AVAudioPlayer в том же методе, который вы используете, у вас должна быть переменная экземпляра где-то еще, например UIViewController. Таким образом, ARC не освобождает этот объект автоматически, и звук может воспроизводиться.

1 голос
/ 05 января 2011
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/alarm_1.mp3", [[NSBundle mainBundle] resourcePath]]];

NSError *error;
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = -1;

[audioPlayer play]; 

Это ответ

...