2017-04-30 1 views
1

내가 MP3 파일을 재생하는 데 필요한 MP3를 재생되지 나는이 코드를 사용하고 있습니다 :AVAudioPlayer는

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) 
    } 
} 

내가 어떤 오류가 아니지만, 소리가 재생되지 않습니다. 또한 앱 기능에서 앱간 오디오를 사용하고 "번들 리소스 복사"의 MP3 파일을 추가했으며 실제 기기에서 테스트하고 있습니다. 제안 사항이 있으십니까? 나는 코드의

답변

0

var audioPlayer: AVAudioPlayer! 

이잖아. 나는 배경 큐에서이 코드를 재현했기 때문에

모든 것이 작동되지 않았습니다. 주 큐로 이동하면 문제가 해결되었습니다.

-1

이 작품은 나를 잘

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) 
      } 
} 

근무 ... 이러한 유형의 다른 질문에 제공하는 모든 다른 솔루션을 시도하고 당신은 클래스 멤버로 audioPlayer을 정의 할 필요하거나 간다 그렇지 않으면 범위를 벗어나 작동하지 않을 것입니다. 내가 해결 한 것이

+0

나는 단지 -1을 이해하지 못합니까? 코드의 작업 조각을 위해? 그 질문에 답합니다. –

관련 문제