Jouer wav fichier audio avec AVFoundation
Je suis en utilisant AVFoundation de lire les fichiers wav. Mais je ne pouvais pas le faire jouer. Aussi pas d'erreurs ou d'avertissements a montré jusqu'à.
XCode est de 4,2 et dispositif d'iOS 5.
- (IBAction) playSelectedAlarm:(id)sender {
UIButton *button = (UIButton *)sender;
int bTag = button.tag;
NSString *fileName = [NSString stringWithFormat:@"%d23333", bTag];
NSLog(@"%@", fileName);
NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:@"wav"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: path];
AVAudioPlayer *theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:NULL];
theAudio.volume = 1.0;
theAudio.delegate = self;
[theAudio prepareToPlay];
[theAudio play];
}
Assurez-vous que vous n'êtes pas en ignorant les erreurs possibles (que vous êtes dans le initWithContentsOfUrl appel). Utiliser de façon appropriée les NSError-objets et d'imprimer leurs résultats à la console.
vérifiez également si vous avez oublié d'ajouter de l'Audio de la Fondation de cadre.
Une Double vérification 🙂
Encore obtenu aucune erreur.
WAV est un format en fait, je peux pas utiliser - essayez de convertir ce fichier au format AIFF ou de FAC et d'utiliser le résultat. Le WAV-format de Conteneur a connu quelques légères irrégularités parfois l'introduction de la lecture des échecs.
vérifiez également si vous avez oublié d'ajouter de l'Audio de la Fondation de cadre.
Une Double vérification 🙂
Encore obtenu aucune erreur.
NSError *audioError = nil; AVAudioPlayer *theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:&audioError]; if(audioError != nil) { NSLog(@"An audio error occurred: \"%@\"", audioError); } else { [theAudio prepareToPlay]; [theAudio play]; }
WAV est un format en fait, je peux pas utiliser - essayez de convertir ce fichier au format AIFF ou de FAC et d'utiliser le résultat. Le WAV-format de Conteneur a connu quelques légères irrégularités parfois l'introduction de la lecture des échecs.
OriginalL'auteur Quaso | 2011-11-30
Vous devez vous connecter pour publier un commentaire.
Voici la solution;
J'ai mis AVAudioPlayer dans le fichier d'en-tête..
@property (nonatomic, retain) AVAudioPlayer *theAudio;
je suppose que 'conserver' est a résolu mon problème. Parce qu'après j'ai l'envoi de "jouer", il envoie "libération" à l'équilibre de l'alloc. Lorsque AVAudioPlayer est libérée, elle arrête la lecture audio.
si je télécharger fichier audio par sélectionner le MPMediaPickerController puis jouer en arrière-plan .Musique miniature de ne pas montrer à l'écran d'accueil.comment résoudre ce problème?
OriginalL'auteur Quaso
J'ai eu le même problème avec Xcode 4.5. Faire de la AVAudioPlayer dans un typage fort bien fait d'elle.
Ainsi, le code suivant doit être ajouté à la @interface:
L' @mise en œuvre deviendrait alors:
OriginalL'auteur bndouglas