Ses Dosyası Çalmanın Kolay Yolu

iOS uygulamalarında basit ses dosyaları oynatmak için AVFoundation framework ünü ve içinde barındırdığı AVAudioPlayer sınıfı kullanacağız.

AVFoundation iOS, macOS, watchOS ve tvOS platformlarında QuickTime videoları oluşturmayı, oynatmayı (HSL Streaming dahil) ve düzenlemeyi sağlar. Ayrıca birçok multimedya operasyonu için API sunar.

Ses dosyası oynatmak için Apple ın AVFoundation SDK sını import ederek işe başlayalım:

 

Sizde kendi SDK nızı yaratabilirsiniz. Framework oluşturmayı öğrenmek için:

 

Sonrasında AVAudioPlayer sınıfından bir obje oluşturalım:

audioPlayer objesini oynatmak istediğimiz ses dosyasıyla dolduracağız ve yönetmeye başlayacağız.

Bu ses dosyasını internetten çekebildiğimiz gibi projede klasöründen lokal olarak da kullanabiliriz. Her iki yöntemi de göstereceğim.

 

Lokal Dosya İle

playSound() metodunu incelediğimizde proje klasörü içinde iosnotlari.mp3 isminde bir ses dosyası aramasını istediğimizi görüyoruz. Eğer dosyayı yükleyebilirse .play() diyerek oynatıyoruz. Eğer yükleyemezse hata fırlatıyoruz.

 

İnternetten

Az önce AVAudioPlayer sınıfından obje yaratırken (contentsOf: url) constructor ını kullandık. Peki AVAudioPlayer sınıfını yalnız URL objesi kullanarak mı initialize edebiliyoruz?

Tabiki hayır.

İstersek Data objesi kullanarak da initialize edebiliriz. Dolayısıyla,

şeklinde de kullanabiliriz.

 

Bonus ✨

Ayrıca sesi durdurmak için .stop() fonksiyonunu kullanabilir veya farklı ihtiyaçlar için şu metod ve değişkenlerden yararlanabilirsiniz:

  • func play(atTime: TimeInterval) -> Bool
  • func pause()
  • func setVolume(Float, fadeDuration: TimeInterval)
  • var isPlaying: Bool
  • var volume: Float