আইওএস এ অডিও প্লে, রেকর্ড ইত্যাদি করার জন্য দারুণ একটা ফ্রেমওয়ার্ক রয়েছে। তা হচ্ছে AVFoundation. AVFoundation কিভাবে ব্যবহার করা যায়, তাই দেখব। AVFoundation নিয়ে কাজ করার জন্য প্রথমে একটা প্রজেক্ট তৈরি করে নেই। যেমন AVFoundation Demo.
AVFoundation ডিফল্ট ভাবে প্রজেক্টে যুক্ত থাকে না। যুক্ত করতে হয়। তার জন্য Build Phases এ গিয়ে Link Binary With Libraries থেকে AVDoundation.framework টা যুক্ত করতে হবে। + বাটনে ক্লিক করলে সব গুলো ফ্রেমওয়ার্কের লিস্ট দেখাবে। সেখান্ত থেকে AVFoundation টা যুক্ত করতে হবে।
প্রজেক্টে একটা mp3 বা যে কোন অডিও ফাইল রাখি। আমরা ইচ্ছে করলে একটা ফোল্ডার তৈরি করে তার ভেতর ও রাখতে পারি। তার জন্য Project এর উপর রাইট ক্লিক করে New Group এ ক্লিক করলে আমাদের ফোল্ডার তৈরি করতে দিবে। MP3 টা ঐ ফোল্ডারের ভেতর রাখতে পারি।
Main Storyboard এ একটা বাটন যুক্ত করি। এ বাটনটা ViewController.swift ফাইলের সাথে একশন হিসেবে যুক্ত করি।
ViewController.swift ফাইলে AVFoundation টা ইম্পোর্ট করি। একটা ভ্যারিয়েবল ডিক্লেয়ার করি। যেমন player। এবং আমাদের MP3 এর একটা রেফারেন্স তৈরি করি। এবার বাটনের একশনে player.play() লিখলেই Mp3 প্লে হবে। প্রজেক্টটি রান করি। এবং দেখি Audio Play হয় কিনা।
import UIKit import AVFoundation class ViewController: UIViewController { var player = AVAudioPlayer() override func viewDidLoad() { super.viewDidLoad() player = try! AVAudioPlayer(contentsOfURL: NSBundle.mainBundle().URLForResource("My Valentine", withExtension: "mp3")!, fileTypeHint: nil) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } @IBAction func PlayAudio(sender: AnyObject) { player.play() } }
খুব সহজ, তাই না? এবার আরো দুইটা বাটন যুক্ত করি Storyboard এ। একটা Pause এর জন্য। একটা Stop এর জন্য। ViewControler.swift ফাইলে Action হিসেবে যুক্ত করি। Pause করার জন্য আমাদের লিখতে হবে player.pasuse(). স্টপ করার জন্য দুইটা লাইন লিখতে হবে। নিচে সম্পুর্ণ ViewController.swift
import UIKit import AVFoundation class ViewController: UIViewController { var player = AVAudioPlayer() override func viewDidLoad() { super.viewDidLoad() player = try! AVAudioPlayer(contentsOfURL: NSBundle.mainBundle().URLForResource("My Valentine", withExtension: "mp3")!, fileTypeHint: nil) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } @IBAction func PlayAudio(sender: AnyObject) { player.play() } @IBAction func StopMusic(sender: AnyObject) { player.stop() player.currentTime = 0 } @IBAction func PauseAudio(sender: AnyObject) { player.pause() } }
অ্যাপের UI টা নিজের মত করে সাজাই। তৈরি করি নিজের পছন্দের AudioPlayer। এর পরের টিউটোরিয়ালে দেখব কিভাবে Audio Record করা যায়।
Sir,oita kun OS ‘er jonno?
Sorry i mean oi je AVfoundation oita kuthay paboo?
Abar oita ki windows’e bebohar kora jabe?
if possible plz give the download link. 🙂