嗨,我正在尝试将以下Objective-C代码转换为Swift:

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

但是我无法使其正常工作。
let audioFile = EZAudioFile.url(EZAudioFile) //required type EZAudioFile, so I am unable to pass the NSURL of the audio file here.
player.play()

错误是:Cannot convert value of type 'NSURL' to expected argument type 'EZAudioFile'
上面的Objective-C代码从这里引用:EZAudio Example:Record File

最佳答案

我没有测试,所以可能是错误的,但是我认为您使用的语法不正确:EZAudioFile.url(EZAudioFile)不会调用您正在考虑的初始化程序。

我看到in the EZAudioFile source确实有一个音频文件URL的初始化程序:

+ (instancetype)audioFileWithURL:(NSURL *)url
所以我的猜测是Swift中的语法应该是:

let audioFile = EZAudioFile(audioFileWithURL: yourURL)

另外,似乎它只是普通URL初始化的包装,应该是这样的:
let audioFile = EZAudioFile(URL: yourURL)

关于ios - 在Swift中使用EZAudio框架播放音频文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36332805/

10-12 06:19