AVFoundation, Mac OS X'te ses ve video işlemleri yapmak için kullanabileceğiniz kapsamlı bir çözümdür Bu rehberde AVFoundation'ın nasıl kullanılacağına dair ipuçları ve püf noktaları sunulmuştur Ses ve video işleme konusunda daha derin bir öğrenme deneyimi yaşamak istiyorsanız, AVFoundation rehberimizi mutlaka okumalısınız

Mac OS X kullanıcıları, AVFoundation kütüphanesi sayesinde ses ve video işlemlerini daha kolay ve gelişmiş bir şekilde yapabilirler. Bu makalede, AVFoundation kütüphanesi kullanılarak Mac OS X'te nasıl ses ve video işlemleri yapılabileceğini öğreneceksiniz.
AVFoundation, Apple'ın geliştirdiği bir multimedya çerçevesidir ve Mac OS X ve iOS işletim sistemlerinde kullanılmaktadır. Kapsamlı bir multimedya çerçevesi olan AVFoundation, farklı ses ve video işlemleri için çeşitli araçlar sunar. Bu kütüphane sayesinde, kullanıcılar sessiz bir videoya ses ekleyebilir veya ses kaydı yapabilirler. Ayrıca, video kaydedebilir veya bir video dosyasını oynatabilirler.
Makalenin geri kalan bölümlerinde, AVFoundation kütüphanesi kullanılarak Mac OS X'te nasıl ses ve video işlemlerinin yapılabileceği adım adım açıklanmaktadır. Mikrofondan ses kaydetme, ses dosyalarını yükleme, video kaydı yapma ve video dosyalarını oynatma gibi farklı konularda detaylı bilgilendirme yapılacaktır.
AVFoundation kullanarak ses ve video işlemleri yapmak, Mac OS X kullanıcılarına zaman kazandıracak ve işlerini kolaylaştıracaktır. Her bir adımın ayrıntılı bir şekilde anlatıldığı bu makale, kullanıcıların AVFoundation kütüphanesini daha rahat kullanmalarını sağlayacaktır.
AVFoundation Nedir?
AVFoundation, Apple'ın Mac OS X ve iOS işletim sistemlerinde kullanılan bir multimedya çerçevesidir. Bu çerçevenin temel amacı, ses ve video işlemleri için gerekli araçları sağlamaktır. AVFoundation, kullanıcıların ses ve video işlemlerini kolay ve etkili bir şekilde gerçekleştirmelerine olanak tanır.
AVFoundation, hem ses hem de video işlemleri için birçok özellik sunar. Bu özellikler arasında dosya oynatma, video kaydı, video oynatma, ses kaydı, ses dosyası oynatma gibi birçok uygulamada kullanılabilecek araçlar yer alır. Bu özellikleri sayesinde AVFoundation, geliştiricilerin işlerini daha hızlı ve daha kolay bir şekilde yapmalarına yardımcı olur.
AVFoundation, kullanımı kolay ve esnek bir yapıya sahiptir. Hem profesyonel hem de amatör kullanıcılar için uygun çözümler sunar. Ayrıca, AVFoundation'ın gelişmiş özellikleri sayesinde, profesyonel kullanıcılar daha karmaşık veya özel işlemler de gerçekleştirebilirler.
AVFoundation Ses İşlemleri
AVFoundation kütüphanesi, Mac OS X'te ses işlemleri için birçok araç içerir ve gelişmiş özellikleriyle öne çıkar. Bu bölümde, ses kaydı yapma ve ses dosyalarını oynatma gibi ses işlemlerinin nasıl yapılabileceği açıklanmaktadır.
Mikrofondan ses kaydedebilmek için öncelikle mikrofona erişim izni vermeniz gerekir. Mikrofon erişimine izin vermek için AVCaptureDevice
sınıfını kullanabilirsiniz. Bu sınıftaki requestAccess(for:completionHandler:)
yöntemi ile kullanıcıdan mikrofon erişimi için izin isteyebilirsiniz.
Kod Örneği: |
---|
import AVFoundationlet audioSession = AVAudioSession.sharedInstance()audioSession.requestRecordPermission { (allowed) in if allowed { // Mikrofon erişimi için izin verildi } else { // Mikrofon erişimi için izin verilmedi }} |
Ses kaydı yapmak için ise AVAudioRecorder
sınıfını kullanabilirsiniz. Bu sınıf, mikrofondan alınan sesleri kaydetmek için idealdir.
Kod Örneği: |
---|
import AVFoundationlet recordingSession = AVAudioSession.sharedInstance()do { try recordingSession.setCategory(.playAndRecord, mode: .default) try recordingSession.setActive(true) let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String let audioFilename = URL(fileURLWithPath: "\(documentsPath)/recording.m4a") let settings = [ AVFormatIDKey: Int(kAudioFormatMPEG4AAC), AVSampleRateKey: 12000, AVNumberOfChannelsKey: 1, AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue ] recorder = try AVAudioRecorder(url: audioFilename, settings: settings) recorder.delegate = self recorder.record()} catch { // Kayıt sırasında bir hata oluştu} |
Bir ses dosyasını yüklemek ve çalmak için ise AVAudioPlayer
sınıfını kullanabilirsiniz. Bu sınıf, birçok farklı ses formatını destekler ve ses dosyalarını belirli bir süre boyunca çalabilir.
Öncelikle ses dosyasını yükleyip AVAsset
sınıfı ile belirli bir noktasından itibaren çalmaya başlayabilirsiniz. Ardından, AVAudioPlayer
sınıfı ile yüklenen ses dosyasını çalabilirsiniz.
Kod Örneği: |
---|
import AVFoundationvar audioPlayer: AVAudioPlayer?func playSound() { guard let url = Bundle.main.url(forResource: "example", withExtension: "mp3") else { return } do { try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default) try AVAudioSession.sharedInstance().setActive(true) /* The following line is required for the player to work on iOS 11. Change the file type accordingly*/ audioPlayer = try AVAudioPlayer(contentsOf: url, fileTypeHint: AVFileType.mp3.rawValue) guard let audioPlayer = audioPlayer else { return } audioPlayer.play() } catch let error { print(error.localizedDescription) }} |
Ses Kaydı
AVFoundation kütüphanesi, mikrofondan ses kaydetmenize olanak tanır. Bu işlem, AVAudioRecorder sınıfı kullanılarak gerçekleştirilir. Ses kaydetmek için öncelikle mikrofona erişim izni vermeniz gerekmektedir.
Mikrofon kullanımı için izin vermek için öncelikle kullanıcının onayını almanız gerekir. Bu işlemi yapmak için kullanıcının izin verebileceği bir pencere göstermeniz gerekmektedir. Aşağıdaki kodu kullanarak mikrofon erişimine izin verebilirsiniz:
AVCaptureDevice *inputDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio];AVCaptureDeviceInput *deviceInput = [AVCaptureDeviceInput deviceInputWithDevice:inputDevice error:nil];AVCaptureSession *newCaptureSession = [[AVCaptureSession alloc] init];[newCaptureSession addInput:deviceInput];[newCaptureSession startRunning];
Yukarıdaki kod, varsayılan mikrofona erişir ve kullanıcının iznini aldıktan sonra kayıt yapmanızı sağlayacak bir AVCaptureSession nesnesi oluşturur.
AVAudioRecorder sınıfı kullanılarak, mikrofondan alınan sesleri kaydedebilirsiniz. Ses kayıt işlemi basit birkaç adımda gerçekleştirilebilir:
- Kaydedilecek dosyanın ismini ve yolunu belirleyin
- Ses kaydediciyi ayarlayın (kayıt formatı, örnek hızı, ses kalitesi gibi)
- Kayıt işlemini başlatın
Aşağıdaki kod, basit bir ses kaydı işlemi için kullanılabilir:
NSDictionary *recordSettings = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt:kAudioFormatMPEG4AAC], AVFormatIDKey, [NSNumber numberWithFloat:44100.0], AVSampleRateKey, [NSNumber numberWithInt:2], AVNumberOfChannelsKey, [NSNumber numberWithInt:12800], AVEncoderBitRateKey, [NSNumber numberWithInt:16], AVLinearPCMBitDepthKey, [NSNumber numberWithBool:NO], AVLinearPCMIsBigEndianKey, [NSNumber numberWithBool:NO], AVLinearPCMIsFloatKey, nil];AVAudioRecorder *recorder = [[AVAudioRecorder alloc] initWithURL:fileURL settings:recordSettings error:nil];[recorder prepareToRecord];[recorder record];
Yukarıdaki kod ses kaydetmek için AVAudioRecorder sınıfından bir örnek oluşturur. Dosya yolu ve kayıt ayarları belirlenir. Recorder, prepareToRecord çağrısıyla hazırlanır ve record metodu çağrılarak kayıt işlemi başlatılır.
Mikrofon Erişimi
Mikrofon erişimine izin vermeden önce, uygulamanızın mikrofona erişebilmesi için yetkilendirilmesi gerekir. Bu işlem için kullanıcı onayı gereklidir. Kullanıcı onayı almadan yapılan işlemler, uygulamanın kullanıcı deneyimini olumsuz yönde etkileyebilir.
Mikrofon erişimine izin vermek için, AVAudioSession sınıfı kullanılabilir. AVAudioSession, uygulama içindeki ses akışlarına yönelik ayarların yapılabildiği bir sınıftır. Mikrofon erişim yetkisi için, AVAudioSession sınıfının recordPermission özelliği kullanılır. Bu özellik, bir AVAudioSessionRecordPermission türü döndürür.
AVAudioSessionRecordPermission Değişkenleri | Açıklama |
---|---|
AVAudioSessionRecordPermissionUndetermined | Ses kaydetme izni belirlenmemiş durumda |
AVAudioSessionRecordPermissionDenied | Ses kaydetme izni kullanıcı tarafından reddedildi |
AVAudioSessionRecordPermissionGranted | Ses kaydetme izni kullanıcı tarafından verildi |
AVAudioSession sınıfının requestRecordPermission() metodu, uygulama kullanıcısından mikrofon erişimine izin vermesi için bir iletişim kutusu gösterir. Kullanıcı izin verdiğinde, metot completionHandler parametresi ile birlikte çalışır ve kaydetme işlemi gerçekleştirilebilir hale gelir.
- AVAudioSession.sharedInstance().requestRecordPermission() {'
- granted in
- case true:
- // mikrofon erişimine izin verildi
- break;
- case false:
- // mikrofon erişimine izin verilmedi
- break;
- }
Mikrofon erişimi için kullanıcının iznini almadan, AVAudioRecorder sınıfı ile ses kaydedilemez. Bu nedenle, mikrofon erişimi için kodunuzu kullanıcı onayına dayalı hale getirmeniz gerektiğini unutmayın.
Ses Kaydı Yapma
Mikrofondan ses kaydı yapmak için AVFoundation kütüphanesi içerisinde bulunan AVAudioRecorder sınıfından yararlanabilirsiniz.
İlk olarak, kaydedilecek ses dosyası için bir kaydedici oluşturmanız gerekiyor. Bunun için AVAudioRecorder sınıfının initializer'ını kullanarak bir instance oluşturmalısınız. Bu initializer'ın parametreleri arasında kaydedilecek ses dosyasının URL'si, kaydedici ayarları ve kayıt için kullanılacak mikrofon ayarları yer almaktadır.
Aşağıdaki örnekte, "record" adında bir fonksiyon oluşturulmuştur. Bu fonksiyon kaydedilecek ses dosyasının URLsini oluşturmakta ve bu URL'i kullanarak bir AVAudioRecorder instance'ı oluşturmaktadır.
func record() { let fileName = "recordedAudio.wav" let dirPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String let pathArray = [dirPath, fileName] let fileURL = URL(string: pathArray.joined(separator: "/")) let recordSettings: [String: Any] = [ AVFormatIDKey: Int(kAudioFormatLinearPCM), AVSampleRateKey: 44100.0, AVNumberOfChannelsKey: 2, AVEncoderBitRateKey: 12800, AVEncoderAudioQualityKey: AVAudioQuality.max.rawValue ] do { audioRecorder = try AVAudioRecorder(url: fileURL!, settings: recordSettings) audioRecorder.delegate = self audioRecorder.isMeteringEnabled = true audioRecorder.prepareToRecord() audioRecorder.record() } catch { print(error.localizedDescription) }}
Yukarıdaki örnekte AVAudioRecorder initializer'ı kullanarak kaydedici instance'ı oluşturulmuştur. Kaydedilecek dosyanın ismi ve dosya URL'si burada tanımlanmaktadır. Record settings'lerinde ise kaydedici için gerekli olan ayarlar belirtilmektedir. Bu ayarlara göre kaydedici, kaydedilecek dosya için gerekli ses formatını, örnekleme hızını, kanal sayısını vb. belirleyecektir.
Kaydedici instance'ına gerekli ayarlamalar yapıldıktan sonra kayıt işlemi başlatılır. Bunun için AVAudioRecorder instance'ının "record()" metoduna çağrı yapılmalıdır. Kayıt işlemi tamamlandığında veya herhangi bir hata oluştuğunda, kaydedici instance'ı bitirilmeli ve temizlenmelidir.
Bu şekilde AVFoundation kullanarak Mac OS X'te mikrofondan ses kaydedebilir ve kayıt işlemlerini gerçekleştirebilirsiniz.
Ses Dosyalarını Oynatma
Mac OS X işletim sistemi, AVFoundation kütüphanesi aracılığıyla, ses dosyalarını çalma işlemini de gerçekleştirebilmenizi sağlar. Bu sayede kullanıcılar, video düzenlemeleri ve ses dosyalarında da düzenlemeler yaparak profesyonel işler oluşturabilirler.
AVFoundation kütüphanesi kullanarak ses dosyalarını çalmak için öncelikle bir ses dosyası yüklemeniz gerekiyor. Yüklediğiniz ses dosyasını çalmak için ise AVAudioPlayer sınıfını kullanabilirsiniz. Ses dosyasını yüklemek için AVAudioPlayer() metodunu kullanabilirsiniz. Bu yöntem, bir URL veya dosya yolu ile ses dosyasını yüklemek için kullanılır.
Bir ses dosyası yükledikten sonra, çalma ile ilgili farklı seçenekleriniz vardır. Örneğin; çalma hızını değiştirebilir, bekleme süresini ekleyebilir veya çalmayı durdurup yeniden başlatabilirsiniz. Bunun için AVAudioPlayer sınıfının farklı yöntemlerini kullanarak işlemlerinizi gerçekleştirebilirsiniz.
Metod | Açıklama |
---|---|
play(): | Ses çalmaya başlar. |
pause(): | Ses çalmayı durdurur. |
stop(): | Ses çalmayı durdurur ve başa döner. |
isPlaying: | Sesin çalıp çalmadığını kontrol eder. |
AVFoundation kütüphanesi, seslerin zamansal denetimini sağlamaktadır. Sınıfta bulunan yöntemleri kullanarak çalma süresi, başlangıç saatleri gibi özelliklerden yararlanabilirsiniz.
- currentTime: Şu anki çalma süresini verir.
- duration: Sesin tamamının uzunluğunu verir.
AVAudioPlayer sınıfı içerinde bulunan delegate özelliği ile birçok fonksiyona ve senkronizasyona kolayca erişebilirsiniz. Bu özellik sayesinde, audioPlayerDidFinishPlaying() yöntemi gibi kullanışlı fonksiyonları kullanabilirsiniz.
Ses Dosyası Yükleme
AVFoundation kütüphanesi ile bir ses dosyasını yüklemek için AVAudioPlayer sınıfından yararlanabilirsiniz. Bu işlem için öncelikle bir ses dosyasının yolu belirtilmelidir. Aşağıdaki adımları takip ederek, ses dosyasını yükleyebilirsiniz:
- 1. AVAudioPlayer sınıfından bir örnek oluşturun:
- 2. Ses dosyasının yolu belirtilmelidir:
- 3. AVAudioPlayer sınıfı ile ses dosyası yüklenmelidir:
|
|
|
Bu işlemlerden sonra, ses dosyası başarıyla yüklenmiş olacaktır. Yüklenen dosyayı oynatmak için AVAudioPlayer sınıfı kullanabilirsiniz. Ses dosyasının başlatılması için aşağıdaki kod kullanılabilir:
|
Ses dosyasının durdurulması ve tekrar başlatılması için pause
ve resume
yöntemleri kullanılabilir. Ses dosyasının tamamen durdurulması için stop
yöntemi kullanabilirsiniz.
Ses Dosyasını Çalma
AVAudioPlayer kullanarak yüklediğiniz ses dosyasını çalmak için çeşitli yöntemler mevcuttur. Bunları şu şekilde sıralayabiliriz:
- play():
- pause():
- stop():
- currentTime:
- volume:
Ses dosyasını çalmak için en temel yöntemdir. AVAudioPlayer sınıfının play() fonksiyonunu çağırdığınızda ses dosyası çalmaya başlar.
Ses çalarken, kullanıcı istediği zaman duraklatmak için bu fonksiyondan faydalanabilir. Çalışan bir sesi duraklatmak için pause() fonksiyonu kullanılır.
Ses çalmayı tamamen durdurmak için stop() fonksiyonu kullanılır. Bu fonksiyonu çağırdığınızda, ses tamamen durur ve başlangıç noktasına geri döner.
Bu özellik, oynatılan sesin zamanını kontrol etmek için kullanılır. Kullanıcı bu özelliği kullanarak sesin bir bölümünden sonra başka bir yerden devam ettirebilir.
Bu özellik, sesin çalınma seviyesini kontrol etmek için kullanılır. Ses seviyesi 0.0 ile 1.0 arasında bir değerle belirtilir. 1.0 en yüksek değeri temsil ederken 0.0, tamamen sessiz bir ayarlamayı ifade eder.
Ayrıca ses dosyası çalarken, başı ve sonunu tespit etmeniz gerekebilir. Bu durumda, AVAudioPlayer sınıfındaki duration özelliği kullanabilirsiniz. Bu özellik, oynatılan ses dosyasının uzunluğunu saniye cinsinden sunar.
AVFoundation Video İşlemleri
AVFoundation kütüphanesi, Mac OS X işletim sisteminde video işlemleri için de kullanılabilir. Bu bölümde, AVFoundation kullanarak video kaydı yapma ve video dosyalarını oynatma konularında bilgi vereceğiz.
AVFoundation kütüphanesi, Mac OS X'te video kaydedebilmenize olanak sağlar. Ancak, videoları kaydetmek için öncelikle kamera erişimine ihtiyacınız var. Kamera erişimine izin vermek için aşağıdaki adımları izleyebilirsiniz:
Adım | Açıklama |
---|---|
1 | Kullanıcının izin vermesi gerektiğini belirten bir açıklama gösterin. |
2 | NSCameraUsageDescription anahtarını açıklamanın altında Info.plist dosyasına ekleyin. |
Artık kamera erişimi için kullanıcı izni alındıktan sonra, video kaydı yapmak için aşağıdaki adımları takip edebilirsiniz:
- AVCaptureSession oluşturun.
- AVCaptureDevice ile kamera ayarlarını yapılandırın.
- AVCaptureDeviceInput ile kameradan gelen görüntüleri alın.
- AVCaptureMovieFileOutput ile görüntüleri diskte kaydedin.
- AVCaptureSession'ı başlatın ve kaydı durdurmak istediğinizde durdurun.
AVFoundation kütüphanesi ile Mac OS X'te video dosyalarını da oynatabilirsiniz. İzlemeniz gereken adımlar aşağıda verilmiştir:
- AVPlayerItem ile video dosyasını yükleyin.
- AVPlayerLayer ile videoyu görüntüleyin.
- AVPlayerControls ile videonun oynatma hızını ve ses düzeyini ayarlayın.
- AVPlayer ile videoyu oynatın ve duraklatın.
Video işlemleri ile ilgili bu temel bilgileri öğrendikten sonra, AVFoundation'ın sunduğu diğer özellikleri keşfetmek için kendi videolarınızı kaydedebilir ve oynatabilirsiniz.
Video Kaydı Yapma
Mac OS X'te AVFoundation kütüphanesi kullanarak video kaydedebileceğiniz gibi AVFoundation kütüphanesi kullanarak video işlemlerinin çeşitli adımlarını da gerçekleştirebilirsiniz. Video kaydı için öncelikle, kamera erişiminin sağlanması gerekiyor. Ardından, kaydedilecek video ile ilgili ayarların yapılması gerekiyor.
Bunun için, öncelikle bir AVCaptureSession örneği oluşturmanız gerekiyor. AVCaptureSession, video ve ses verilerini yakalamanıza ve kaydetmenize olanak sağlar. Oluşturulan AVCaptureSession örneğininm video kaydı için kullanılacağı belirtilmelidir.
- AVCaptureDevice sınıfından kamera aygıtı seçilerek, bu aygıtın bağlandığı AVCaptureDeviceInput nesnesi oluşturulur.
- AVCaptureMovieFileOutput sınıfından bir kaydedici nesnesi oluşuturulur. Bu nesne, kameranın görüntülerini kaydedecektir.
- AVCaptureSession nesnesine kaydedici ve giriş aygıtları eklenir.
- AVCaptureSession nesnesi başlatılır ve kayıt işlemi başlar.
Bu adımların doğru bir şekilde gerçekleştirilmesi durumunda kamera erişimi sağlanabilir ve Mac OS X üzerinde video kaydı gerçekleştirilebilir. AVFoundation kütüphanesi sayesinde bu işlem oldukça basit ve hızlı bir şekilde yapılabilir.
Kamera Erişimi
AVFoundation kütüphanesi kullanılarak Mac OS X'te video veya fotoğraf çekmek için öncelikle kamera erişimine izin vermeniz gerekiyor. Bu işlemi gerçekleştirmek için Info.plist dosyasında ilgili izinlerin eklenmesi gerekmektedir. Info.plist dosyasına eklenmesi gereken izinler şunlardır:
Key | Description | Value |
---|---|---|
NSCameraUsageDescription | Kamera erişimine neden ihtiyacınız olduğunu açıklar | “Kamera kullanımı için izin vermenizi istiyoruz” |
NSMicrophoneUsageDescription | Ses kaydı yapmak için neden mikrofon erişimine ihtiyacınız olduğunu açıklar | “Ses kaydı yapmak için mikrofon kullanmamız gerekiyor” |
Info.plist dosyasına bu izinler eklenirse, kullanıcının izin vermesi için gereken diyalog kutuları otomatik olarak gösterilir. Kullanıcı izin verirse, kamera veya mikrofon erişimi sağlanır ve işlemler gerçekleştirilebilir.
Video Kaydı Yapma
AVFoundation kütüphanesi kullanarak Mac OS X'te video kaydetmek oldukça kolaydır. Video kaydı için öncelikle kamera erişimine izin vermeniz gerekiyor. Kamera erişimine izin vermek için aşağıdaki adımları takip edebilirsiniz:
Adım | Açıklama |
---|---|
1 | AVCaptureDevice sınıfından bir cihaz örneği oluşturun. |
2 | AVCaptureDeviceInput sınıfını kullanarak cihazdan girdi alın. |
3 | AVCaptureSession sınıfından bir oturum oluşturun ve oturuma girdi ekleyin. |
4 | AVCaptureVideoPreviewLayer sınıfını kullanarak oturumu bir önizleme katmanına ekle. |
5 | Oturumu başlat. |
Video kaydına izin verildikten sonra, video kaydı yapmak için aşağıdaki adımları takip edebilirsiniz:
- AVCaptureMovieFileOutput sınıfından bir çıkış oluşturun.
- AVCaptureSession sınıfına çıkışı ekleyin.
- Kayıt işlemini başlatmak için AVCaptureMovieFileOutput sınıfına başlatRecording metodu çağırın.
- Kayıt işlemi tamamlandığında AVCaptureMovieFileOutput sınıfına stopRecording metodu çağırın.
Bu adımları takip ederek AVFoundation kütüphanesi kullanarak Mac OS X'te kolayca video kaydı yapabilirsiniz.
Video Dosyalarını Oynatma
AVFoundation kütüphanesi, Mac OS X işletim sistemi kullanıcılarına video dosyalarını oynatmak için de birçok seçenek sunmaktadır. Bu bölümde, bu işlemi gerçekleştirmek için kullanabileceğiniz iki farklı sınıftan bahsedeceğiz.
Birincisi, AVPlayer sınıfıdır. Bu sınıf, video dosyalarını oynatmak için oldukça kullanışlıdır. Yüklemek istediğiniz video dosyası için bir AVPlayer örneği oluşturmanız yeterlidir. Ardından, video dosyasını çalmak için AVPlayer'ın play() yöntemini çağırabilirsiniz. Ayrıca, videoyu durdurmak veya ileri/alma geri/alma gibi özellikleri de AVPlayer sınıfı aracılığıyla gerçekleştirebilirsiniz.
İkinci sınıf ise AVPlayerView sınıfıdır. Bu sınıf, AVPlayer'ı kullanarak video dosyalarını oynatmak için bir görüntüleme alanı sağlar. Bu sayede, kullanıcılar videoyu ekranın bir bölümünde izleyebilir ve diğer işlemleri (örneğin, belge oluşturma) yapabilirler. AVPlayerView sınıfı, video dosyasını çalmak için bir AVPlayer örneği gerektirir.
Bu adımların her ikisini de kullanarak Mac OS X işletim sistemindeki video dosyalarınızı oynatabilirsiniz. Ayrıca, video dosyalarınızı istediğiniz gibi özelleştirebilir ve kullanıcılarınız için daha etkileyici bir deneyim yaratabilirsiniz.
Video Dosyası Yükleme
AVFoundation kütüphanesi ile bir video dosyasını yüklemek için AVPlayer sınıfını kullanmak oldukça kolaydır. İlk olarak, yüklenecek olan video dosyasının URL'sini almanız gerekiyor. Bu URL, çevrimiçi bir kaynaktan gelebilir veya kullanıcının cihazında yerel olarak saklanabilir.
Eğer yerel bir video dosyasını yüklemek istiyorsanız, AVFoundation kütüphanesiyle öncelikle videonun bölgeyi ve formatını belirlemeniz gerekiyor. Ardından, videonun kaydedildiği yolu ve adını belirleyin ve bu bilgileri video dosyasını yüklemek için AVPlayer sınıfına verin.
Bir video dosyası yerel olarak saklanmıyorsa, AVPlayer sınıfı, URL yoluyla internetten video dosyasının yüklenmesini de desteklemektedir. Bunu yapmak için, yüklenecek video dosyasının URL'sini alın ve AVPlayer sınıfının yükleyici fonksiyonuna verin. Varsayılan olarak, AVPlayer sınıfı, video dosyasının en iyi kalitede çalınabileceği bir ayar seçer ve otomatik olarak yüklenir.
AVPlayer sınıfını kullanarak video dosyasını yükledikten sonra, çeşitli işlevleri kullanarak videonun çalınmasını kontrol edebilirsiniz. Örneğin, oynatma hızını, ses seviyesini veya sahne boyutunu ayarlayabilirsiniz.
Ayrıca, AVPlayer sınıfı, videonun süresini hesaplayan işlevler sunar. Böylece, kullanıcıların videonun uzunluğunu görüntülemelerini ve hızlı bir şekilde ileri veya geri sararak belirli bir pozisyona gitmelerini sağlayabilirsiniz.
AVFoundation kütüphanesi ile video dosyalarını yüklemek ve çalmak oldukça kolaydır. AVPlayer sınıfının geniş işlevleri sayesinde, videonun kalitesi, süresi ve çalma özellikleri kolayca kontrol edilebilir.
Video Dosyasını Çalma
Video dosyasını yükledikten sonra, AVPlayer ile çalmak için birkaç yöntem vardır. İşte bazı yöntemler:
- play(): Bu yöntem, videoyu oynatmak için kullanılır. Başlatır ve kaldığı yerden devam eder.
- pause(): Bu yöntem, videoyu duraklatmak için kullanılır. Devam ettirmek için tekrar play() yöntemi çağrılır.
- seek(to:): Bu yöntem, belirli bir zamana gitmek için kullanılır. Saniye cinsinden zaman belirtmek gerekir.
- rate: Bu özellik, video oynatma hızını değiştirmek için kullanılır. Örneğin, 0.5 değeri, yarım hızda oynatırken, 2.0 değeri iki kat hızda oynatır.
Ayrıca, AVPlayer üç farklı durumda olabilir:
- readyToPlay: Video yüklenmiş ve oynatmaya hazır durumdadır.
- failed: Video yüklenemedi veya çalınırken bir hata meydana geldi.
- unknown: Video yükleme durumu belirsizdir.
Bu durumları takip etmek için, AVPlayerItem ve KVO (Key-Value Observing) kullanabilirsiniz. KVO sayesinde durum değişikliklerini takip edebilir ve buna göre işlemler yapabilirsiniz.
Sonuç olarak, AVFoundation kütüphanesi kullanılarak Mac OS X'te video dosyalarını yükleyebilir, oynatabilir ve hatta değişiklikler yapabilirsiniz. Bu işlemleri gerçekleştirmek için yukarıda bahsedilen yöntemlerden bazıları kullanılabilir.