Я создал кнопку для воспроизведения аудио (потоковая передача по ссылке) с помощью AVPlayer в Swift. Как автоматически остановить звук, когда время звука закончится?
Вот часть моего кода:
var player : AVPlayer?
url = URL(string: "https://cdn.islamic.network/quran/audio/128/ar.alafasy/162.mp3")
let playerItem:AVPlayerItem = AVPlayerItem(url: url!)
player = AVPlayer(playerItem: playerItem)
player?.play()
Например, в этом URL-адресе (https://cdn.islamic.network/quran/audio/128/ar.alafasy/162.mp3) продолжительность звука составляет 19 секунд. Итак, после 19 секунд воспроизведения звука звук должен остановиться.
Спасибо :)
@Zain AVAudioPlayer загрузит аудио до того, как вы его воспроизведете. Здесь я не буду загружать аудио :D Поэтому я использую AVPlayer, чтобы не загружать аудио.
Вы можете использовать наблюдатель NSNotificationCenter
NSNotificationCenter.defaultCenter().addObserver(self, selector: "playerDidFinishPlaying:", name: AVPlayerItemDidPlayToEndTimeNotification, object: item)
player?.play()
и остановить игрока в этой функции
func playerDidFinishPlaying(note: NSNotification) {
// Your code here
player?.pause()
player?.replaceCurrentItem(with: nil)
}
Вы можете использовать AVAudioPlayer и подтвердить его делегат audioPlayerDidFinishPlaying. Остановить воспроизведение при вызове этого делегата.