Pergunta

Eu quero reproduzir o arquivo mp3 colocado em recursos como o código é fornecido abaixo,

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];

Mas infelizmente não consigo ouvir o som, por favor me ajude

Foi útil?

Solução

Eu não acho que o nome do seu arquivo esteja certo. Experimente esta sintaxe:

    NSURL *clickURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/alarm_1.mp3", [[NSBundle mainBundle] resourcePath]]];  
    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:clickURL error:nil];

Outras dicas

Eu tive um problema semelhante devido ao ARC. Em vez de definir o Avaudioplayer no mesmo método que você o está usando, você deve ter uma variável de instância em outro lugar, como o UIViewController. Dessa forma, o ARC não libera automaticamente esse objeto e o áudio pode ser reproduzido.

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]; 

Isso é resposta

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top