如何使用AVFoundation在Swift
playground
中播放声音文件?理想情况下,该文件将在URL中,而不是在本地驱动器中,但这并不重要。在快速游乐场播放声音
5
A
回答
2
我在这个自己的黑暗中摸索着,但我认为这可能是由于快速游乐场的一些限制。考虑以下代码:
#!/usr/bin/swift
import Cocoa
import AVFoundation
var error: NSError?
println("Hello, Audio!")
var url = NSURL(fileURLWithPath: "/Users/somebody/myfile.mid") // Change to a local midi file
var midi = AVMIDIPlayer(contentsOfURL: url, soundBankURL: nil, error: &error)
if midi == nil {
if let e = error {
println("AVMIDIPlayer failed: " + e.localizedDescription)
}
}
midi.play(nil)
while midi.playing {
// Spin (yeah, that's bad!)
}
如果我们运行在终端这个迅速脚本,它工作正常,并播放MIDI文件,但如果你运行在一个操场上的代码,你会得到
AVMIDIPlayer失败:操作无法完成。 (com.apple.coreaudio.avfaudio错误-1。)
从积极的方面来看,能够在终端中运行它表明代码确实有效。
+0
我得到了相同的结果... – cfischer 2014-10-31 12:11:53
1
这对我在Playground上没有试过的项目有效。首先将您的声音拖到您的项目中,并根据需要选择复制目标,然后选中“添加到目标”到您的应用程序。
import Cocoa
import AVFoundation
var beepSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("beep", ofType: "aif")!)
func initBeep(){
beepPlayer = AVAudioPlayer(contentsOfURL: beepSound, error: nil)
beepPlayer.prepareToPlay()
}
func playBeepSound(){
beepPlayer.play()
}
func applicationDidFinishLaunching(aNotification: NSNotification?) {
initBeep()
}
@IBAction func btnPlayBeepSound(sender: AnyObject) {
playBeepSound()
}
相关问题
- 1. 在slick2D中播放声音和音乐java游戏库
- 2. 在XBMC中快速播放和倒带音乐
- 3. 音乐播放
- 4. Swift 3游戏音乐播放
- 5. Java声音。暂时静音背景音乐并播放声音
- 6. 播放选定的音乐作为游戏的背景音乐
- 7. 如何在音乐播放器中播放LRC和音乐
- 8. 允许快速播放背景音乐吗?
- 9. 在cocos2d游戏中播放声音
- 10. 在Java游戏中播放小声音
- 11. 在iPhone游戏中播放声音 - 减速
- 12. 播放音乐javascript
- 13. 在google中播放mp3播放音乐
- 14. 在android中播放音乐
- 15. MPMusicPlayerController系统音乐播放器播放skipToNextItem速度慢滞后
- 16. 从停止播放音乐的时刻继续播放音乐
- 17. 通过耳机播放音乐时播放扬声器
- 18. Iphone cocas2d游戏:播放声音
- 19. 在ipod音乐开启时播放声音(iPad)
- 20. PulpCore音乐播放 - 循环用声音和动画音量
- 21. 当我按下快速播放按钮时,声音播放出现故障
- 22. 播放声音
- 23. 播放声音
- 24. 播放声音?
- 25. iOS快速播放音频到多个蓝牙扬声器
- 26. 音频播放速度太快
- 27. 当播放声音加速发生时
- 28. 如何在Python中播放声音无需中断播放音乐/其他声音
- 29. 如何尽快播放声音?
- 30. java中的声音 - 播放声音时游戏会冻结
您到目前为止尝试过的任何代码? – 2014-10-30 16:29:37
看看这个链接http://stackoverflow.com/questions/24043904/creating-and-playing-a-sound-in-swift?rq=1 – 2014-10-30 16:33:44
我不确定你可以。 为了确保你能在'playground'内容创建新的文件夹'Resources'进一步游乐场将与路径类似发现: 播放文件:///var/folders/74/d78g19sj65bc6z2n6gjw9n4r0000gn/T/com.apple。 dt.Xcode.pg/applications/YourApp-67685-8.app/Want_You.mp3 但是'avPlayer.prepareToPlay()'将总是返回'false'。 – 2014-10-30 17:05:18