2016-03-31 17 views
2

yılında EZAudio Framework kullanarak ses dosyası yürütme:Merhaba Swift için aşağıdaki Objective-C kodu dönüştürmek çalışıyorum Swift

EZAudioFile *audioFile = [EZAudioFile audioFileWithURL:NSURL]; //required type NSURL 
[self.player playAudioFile:audioFile]; 

Ama işe yapmak mümkün. Cannot convert value of type 'NSURL' to expected argument type 'EZAudioFile'

yukarıdaki amaç-C kodu buradan başvurulmaktadır:

let audioFile = EZAudioFile.url(EZAudioFile) //required type EZAudioFile, so I am unable to pass the NSURL of the audio file here. 
player.play() 

Hata olduğunu EZAudio Example:Record File

+1

EZAudioFile işlevini kullanmadım, ancak AVAudioPlayer uygulamasının Swift'de çalışmasını sağladım. Referans için bazı kodlar (cevabın içinde aşağı kaydırın). http://stackoverflow.com/a/32879428/3681880 – Suragch

+0

Bunu da çok hızlı yaptım. Ama EZAudio'ya takılmamın nedeni, kayıt sırasında dalga formları oluşturmak için tek yöntemini kullanıyorum. Kayıt yapabiliyorum, AVAudioPlayer kullanarak sesi çal. Bu yüzden tüm yöntemlerini kullanmak için bu çerçeveyi (EZAudio) keşfetmenin daha iyi olacağını düşündüm. –

+1

Ah, anlıyorum. Kulağa ilginç geliyor. Bazı uygulamaların dalga formlarını nasıl oluşturduğunu merak ettim. Umarım işe alırsın. – Suragch

cevap

1

ben test etmedi, bu yüzden yanlış olabilir, ama sen değilsin düşünüyorum Doğru sözdizimini kullanarak: EZAudioFile.url(EZAudioFile), düşündüğünüz başlatıcıyı çağırmaz.

Ben gerçekten bir ses dosyası URL için bir başlatıcı var olduğunu in the EZAudioFile source bkz:

Yani

+ (instancetype)audioFileWithURL:(NSURL *)url

benim tahminim Swift sözdizimi yerine olması gerektiğini:

Ayrıca, bu gibi bir şey olmalıdır normal URL init için bir sarıcı gibi görünüyor:

let audioFile = EZAudioFile(URL: yourURL) 
+0

Spot On! Xcode otomatik tamamlama beni burada yakaladı. Swift'de [self.player playAudioFile: audioFile]; 'ne değiştirilecek? –

+0

[Benzer] (https://github.com/syedhali/EZAudio/blob/master/EZAudio/EZAudioPlayer.m#L334) olmalıdır: 'self.player.playAudioFile (audioFile)' Bence (yine, sadece bir Şu anda bir EZ yüklemesine erişimim olmadığı için kaynağı okurken tahmin et). – Moritz

+0

Çok zor hızlı dönüşüm. Bu çıktı: 'player = EZAudioPlayer (EZAudioFile: audioFile)'. Yararlı yorumlarınız için teşekkür ederiz! –