0
버튼을 다시 클릭 할 때까지 반복적으로 시스템 사운드를 반복 재생 (소리가 겹치지 않음) 할 수 있도록 버튼을 클릭 할 수 있도록 만들고 싶습니다. , 버튼은 오디오 서비스 시스템 사운드의 반복 재생을 켜거나 끕니다.시스템 사운드 토글 -
누구든지이 작업을 수행하는 방법을 알고 있다면 크게 감사하겠습니다.
감사
버튼을 다시 클릭 할 때까지 반복적으로 시스템 사운드를 반복 재생 (소리가 겹치지 않음) 할 수 있도록 버튼을 클릭 할 수 있도록 만들고 싶습니다. , 버튼은 오디오 서비스 시스템 사운드의 반복 재생을 켜거나 끕니다.시스템 사운드 토글 -
누구든지이 작업을 수행하는 방법을 알고 있다면 크게 감사하겠습니다.
감사
이 사용 무한 반복과 AVAudioplayer
수행 한 후 다음 버튼을 눌렀을 때 그것을 재생/일시 정지합니다.
override func viewDidLoad() {
super.viewDidLoad()
guard let url = Bundle.main.path(forResource: "myOwnSound", ofType: "wav") else { //your own file name AND extension type of course
print("file not found")
return
}
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)
try audioPlayer = AVAudioPlayer(contentsOf: URL(string: url)!)
audioPlayer!.prepareToPlay()
audioPlayer.numberOfLoops = -1
} catch let error as NSError {
print("error while initialising sound: \(error)")
}
}
이 그런 다음 버튼에 연결된 함수 내에서, 내 경우에는 내가 이름 :
var audioPlayer : AVAudioPlayer!
는 다음의 viewDidLoad의 내부 audioPlayer를 초기화 : 먼저 audioPlayer 변수, 외부 어떤 기능의을 그 함수 buttonPressed :
@IBAction func buttonPress(_ sender:AnyObject){
if audioPlayer.isPlaying {
audioPlayer.pause()
}
else {
audioPlayer.play()
}
}
[XY 문제] (https://meta.stackexchange.com/q/66377/364493)처럼 보입니다. 왜 이걸하고 싶어? – the4kman
질문을 이해하기 쉽도록하기 위해 작업을 단순화했습니다. 긴 이유는 내가 타이머를 만들고 사용자가 장치를 물리적으로 두 드릴 때까지 초가 0에 도달하면 타이머를 실행하려고하기 때문입니다. 버튼 또는 화면에 표시됩니다. –