在 XCode 6 上,设备上一切正常,但在模拟器上无法播放声音。
这是我的快速代码:
var url = NSURL(string: "http://my.url.com/sound.mp3")
var data = NSData(contentsOfURL: url!)
// Removed deprecated use of AVAudioSessionDelegate protocol
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)
self.player = AVAudioPlayer(data: data, error: nil)
self.player.prepareToPlay()
self.player.delegate = self
self.player.volume = 1
self.player.play()
有日志:
ERROR: 98: Error '!obj' trying to fetch default input device's sample rate
ERROR: 100: Error getting audio input device sample rate: '!obj'
WARNING: 230: The input device is 0x0; '(null)'
WARNING: 234: The output device is 0x26; 'AppleHDAEngineOutputDP:3,0,1,1:0:{2D4C-092D-00000000}'
ERROR: 400: error '!obj'
ERROR: 113: * * * NULL AQIONode object
ERROR: 180: EXCEPTION thrown ('!dev'): -
ERROR: 703: Can't make UISound Renderer
ERROR: >aqsrv> 70: Exception caught in (null) - error -1
ERROR: 180: EXCEPTION thrown ('!dev'): -
ERROR: >aqsrv> 70: Exception caught in (null) - error -1
最佳答案
我遇到了这个问题,来自 @Matti Jokipii 的评论, 对我帮助很大。
您需要启用声音输入,这样您的 Mac 才不会给您 null 异常。
转到系统偏好设置 > 声音。并检查您是否连接了一些输入。如果没有,您将必须添加一个麦克风,然后重新运行该应用。
关于iOS模拟器不播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27443311/