Ios AudioHardware.cpp:1200:AudioObjectRemovePropertyListener:AudioObjectRemovePropertyListener:没有具有给定ID 0的对象

Ios AudioHardware.cpp:1200:AudioObjectRemovePropertyListener:AudioObjectRemovePropertyListener:没有具有给定ID 0的对象,ios,swift,avplayer,swift4,Ios,Swift,Avplayer,Swift4,在swift的一个项目中,我正在尝试启动AVPlayer,出于某种原因,它给我带来了一个例外 AudioHardware.cpp:1200:AudioObjectRemovePropertyListener:AudioObjectRemovePropertyListener:没有具有给定ID 0的对象 我想问题在于我的URL。这是我的密码 func initPlayer() { let url:NSURL = NSURL(string:"https://purelight1-163000

在swift的一个项目中,我正在尝试启动AVPlayer,出于某种原因,它给我带来了一个例外

AudioHardware.cpp:1200:AudioObjectRemovePropertyListener:AudioObjectRemovePropertyListener:没有具有给定ID 0的对象

我想问题在于我的URL。这是我的密码

func initPlayer() {
    let url:NSURL = NSURL(string:"https://purelight1-163000.appspot.com/api/user/v2/media/track/60/sample")!
    self.playerItem = AVPlayerItem(url: url as URL)
    self.player=AVPlayer(playerItem: self.playerItem!)
    let playerLayer=AVPlayerLayer(player: self.player!)
    playerLayer.frame = CGRect(x: 0, y: 0, width: 10, height: 50) // actually this player layer is not visible
    self.view.layer.addSublayer(playerLayer)
}

Xcode过于健谈。您只需编辑您的方案(产品>方案>编辑方案),并创建一个新的环境变量OS_ACTIVITY_MODE并将其值设置为disable。

对于我来说,这是因为模拟器的音频输出

我使用了一个音频捕获应用程序iShowU,用于不同的项目,并设置了耳机。但是为了禁用模拟器的音频,我用耳机(没有插入)将“音频设备输出”设置为iShowU设置。它播放完加载的视频后,问题出现了


将音频输出从
模拟器>I/O>音频输出切换到System one并重新运行我的构建解决了我的问题。

你找到解决方案了吗?我想这与模拟器有关。我没有在真正的设备上得到错误。不相关,但是为什么要创建一个
NSURL
,然后将其强制转换到
URL
?您只需执行
let url=url(字符串):https://purelight1-163000.appspot.com/api/user/v2/media/track/60/sample")!是否为所有异常设置了断点?对我来说,解决方案是通过编辑断点来设置ObjuleC异常,而不是C++。然而,从技术上讲,它不应该崩溃。我不确定这种方法是否理想。这难道不会使其他重要(或至少可能重要)的警告静音吗?@AmitaiB这个答案并不是为了解决问题,只是为了阻止控制台写这么多行。如果你只想看到你的打印输出,我建议我的开发者不要这样做。这也会抑制约束冲突。