2017-04-30 3 views
1

J'ai besoin de reproduire un fichier MP3 et je suis en utilisant ce code:AVAudioPlayer ne joue pas le MP3

import AVFoundation 

var player: AVAudioPlayer? 

@IBAction func playSound(sender: UIButton) { 

    //Making the phone vibrate 
    AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate)) 

    //Playing a sound 
    let url = Bundle.main.url(forResource: "audio_file_name", withExtension: "mp3")! 
    do { 
     self.player = try AVAudioPlayer(contentsOf: url) 
     self.player?.delegate = self 
     self.player?.prepareToPlay() 
     self.player?.play() 
    } catch let error { 
     print(error.localizedDescription) 
    } 
} 

Je ne reçois pas d'erreur, mais aucun son est reproduit. J'ai également activé l'audio inter-application dans les fonctionnalités de l'application, ajouté le fichier MP3 dans "Copy Bundle Resources" et je suis en train de tester sur un périphérique réel. Une suggestion? Je l'ai essayé toutes les autres solutions proposées dans d'autres questions de ce type ...

Répondre

0

Je l'ai résolu.

Tout ne fonctionnait pas simplement parce que je reproduisais ce code dans une file d'attente d'arrière-plan. Le déplacer vers la file d'attente principale vient de résoudre le problème.

-1

ce morceau de code a fonctionné pour moi bien

func playAudio(){ 
    let audioUrl = URL(fileURLWithPath: value, relativeTo: someBasePath) 
      do{ 
       try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) 
       try AVAudioSession.sharedInstance().setActive(true) 
       audioPlayer = try AVAudioPlayer(contentsOf: audioUrl, fileTypeHint: AVFileTypeMPEGLayer3) 
       audioPlayer.prepareToPlay() 
       audioPlayer.play() 
      }catch{ 
       print(error.localizedDescription) 
      } 
} 

et vous devez définir audioPlayer en tant que membre de la classe ou il va Sinon, cela ne fonctionnera pas.

var audioPlayer: AVAudioPlayer! 

thats it

+0

Je ne comprends tout simplement pas le -1? pour un morceau de code de travail? qui répond à la question. –