Domanda

Voglio riprodurre il file mp3 inserito nelle risorse poiché il codice è riportato di seguito,

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

ma purtroppo non riesco a sentire il suono per favore aiutatemi

È stato utile?

Soluzione

Non credo che il nome del file è giusto. Prova questa sintassi:

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

Altri suggerimenti

Ho avuto un problema simile a causa di ARC. Invece di definire l'AVAudioPlayer con lo stesso metodo lo si utilizza, si dovrebbe dovrebbe avere una variabile di istanza da qualche altra parte, come ad esempio l'UIViewController. In questo modo ARC non Auto Release questo oggetto e l'audio in grado di riprodurre.

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

Questa è la risposta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top