Προωθημένο

আইওএস অডিও - AVFoundation

0
4

আইওএস এ অডিও প্লে, রেকর্ড ইত্যাদি করার জন্য দারুণ একটা ফ্রেমওয়ার্ক রয়েছে। তা হচ্ছে AVFoundation. AVFoundation কিভাবে ব্যবহার করা যায়, তাই দেখব। AVFoundation নিয়ে কাজ করার জন্য প্রথমে একটা প্রজেক্ট তৈরি করে নেই। যেমন AVFoundation Demo.

 

AVFoundation ডিফল্ট ভাবে প্রজেক্টে যুক্ত থাকে না। যুক্ত করতে হয়। তার জন্য Build Phases এ গিয়ে Link Binary With Libraries থেকে AVDoundation.framework টা যুক্ত করতে হবে। + বাটনে ক্লিক করলে সব গুলো ফ্রেমওয়ার্কের লিস্ট দেখাবে। সেখান্ত থেকে AVFoundation টা যুক্ত করতে হবে।

 

AvFoundation Framework

 

প্রজেক্টে একটা mp3 বা যে কোন অডিও ফাইল রাখি। আমরা ইচ্ছে করলে একটা ফোল্ডার তৈরি করে তার ভেতর ও রাখতে পারি। তার জন্য Project এর উপর রাইট ক্লিক করে New Group এ ক্লিক করলে আমাদের ফোল্ডার তৈরি করতে দিবে। MP3 টা ঐ ফোল্ডারের ভেতর রাখতে পারি।

 

Create New Group

 

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 করা যায়।

Αναζήτηση
Κατηγορίες
Διαβάζω περισσότερα
Hacking Course
ক্রেডিট কার্ড জেনারেটর কিভাবে কাজ করে এবং কেন কাজ করে?
ক্রেডিট কার্ড জেনারেটর কিভাবে কাজ করে এবং কেন কাজ করে? প্রারম্ভিকতা আমরা অনেকেই প্রায় সময় দেখি...
από Nettumi 2026-09-25 16:55:27 0 36
Tech
স্কিটো সিম কি? Skitto সিমের সুবিধা কি? (আপডেট)
দারুণ সব ইন্টারনেট অফারের জন্য ইতোমধ্যে স্কিটো সিমের নাম শুনে থাকবেন। চলুন জেনে নেওয়া যাক স্কিটো...
από Nettumi 2026-09-25 10:18:42 0 39
Nulled
Mini-Cover - ক্যানভা-ফ্যানভা’র দিন শেষ! অনলাইনে তৈরি করুন মনের মতো কভার ফটো, তাও আবার একদম ফ্রিতে! A to Z গাইড | Techtunes | টেকটিউনস
অনলাইন ফ্রিল্যান্স আউটসোর্সিং এর মাধ্যমে আয় করুন ঘরে বসেই darklord
από Nettumi 2026-09-21 05:25:21 0 32
Nulled
Slim SEO Pro v1.10.1
SEO, schema markup, link management and optimization — Advanced SEO features without the...
από Nettumi 2026-10-02 18:10:37 0 1
Nulled
Custom Billing Software Development Guide
October 8, 2024...
από Nettumi 2026-09-21 04:44:49 0 56
‎ ‎ ‎
Nettumi https://nettumi.com