我可以在 xcode 的不同文件夹中使用相同的文件名以及如何在 ios Swift 语言中访问它
Posted
技术标签:
【中文标题】我可以在 xcode 的不同文件夹中使用相同的文件名以及如何在 ios Swift 语言中访问它【英文标题】:Can I use same file name in different folder in xcode and how to access it in ios Swift language 【发布时间】:2014-11-10 07:03:10 【问题描述】:我正在使用 Swift 语言开发 ios 8 音频播放器。
我在男性和女性声音中都有一个带有“apple.mp3”的音频文件名相同的音频名称。这两个文件是两个不同的组,男性男性组和女性音频女性组。所以路径是male/apple.mp3 和female/apple.mp3。
我正在使用以下代码播放音频文件
var audioPlayer = AVAudioPlayer()
var currentAudioPath:NSURL!
currentAudioPath = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource(audioName, ofType: "mp3")!)
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)
UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
audioPlayer = AVAudioPlayer(contentsOfURL: currentAudioPath, error: nil)
audioPlayer.delegate = self
audioPlayer.play()
audioPlayer.prepareToPlay()
如何使用特定路径分别播放两个音频?
【问题讨论】:
【参考方案1】:据我所知,如果您在项目中任何地方有相似的文件名,无论在子文件夹中有多深,Xcode 都会抱怨重复资源。 当您按名称请求图像时,Xcode 会“看到”整个项目,这是有利的一面。
简而言之,不,您不能在同一个项目中拥有两个同名的资源。建议给每个人一个唯一的名称。
【讨论】:
感谢@bauerMusic的回复。所以我们不能给文件路径提供一个特定的路径,比如male/apple.mp3吗? 我猜(?)它与编译所有内容有关。这些文件夹实际上只是为了方便。一个例外(我认为)可能是Documents
、Library
文件夹,但您不能真正将预编译资源放在那里。我通过给文件一个目录名解决了一个类似的问题。例如:male.apple.mp3
、female.apple.mp3
。文件夹实际上只是代表唯一路径的唯一字符串。 (如果male.apple.mp3
不起作用,只需使用male_apple.mp3
。以上是关于我可以在 xcode 的不同文件夹中使用相同的文件名以及如何在 ios Swift 语言中访问它的主要内容,如果未能解决你的问题,请参考以下文章