我最近学会了如何将声音添加到我正在创建的小蛇游戏中.当蛇吃苹果时声音会播放.我遇到的问题是每次蛇吃苹果我都会在cosole中得到这个警告(但程序继续运行):
015-10-13 10:00:16.922 java [39731:970632] 10:00:16.922警告:140:此应用程序或其使用的库正在使用不推荐使用的Carbon Component Manager来托管Audio Units.将来的版本中将删除对此的支持.此外,这使主机与版本3音频单元不兼容.请转换到API中
AudioComponent.h.
这是什么意思,我需要做些什么才能解决这个错误?
这是播放声音的方法:
private static void playSound(File Sound){
try{
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(Sound));
clip.start();
Thread.sleep(clip.getMicrosecondLength()/1000);
}catch(Exception e){
}
}
Run Code Online (Sandbox Code Playgroud)
小智 4
这是针对负责声音处理程序的开发人员的控制台警告,在本例中看起来像AudioSystem. 您的程序应该可以工作,但它会不断抛出这些警告。您使用的是旧版本的 Java 吗?这或许可以解释这个问题。
我遇到这个问题是因为我在 Python 中使用 SimpleCV 时收到了相同的警告(具有不同的时间和进程标记)。我做了一些挖掘,我想我至少可以详细说明这个问题,即使不能解决它。
首先,这是苹果特有的问题。我们看到的警告实际上是控制台日志注释,如果您打开控制台并查找时间戳,则可以看到该警告。Carbon Component Manager 是 Mac 处理声音的一种已弃用的方式,并且正在被使用AudioComponent.h. 看起来AudioSystem仍在以旧的方式开展业务。此注释向开发人员发出信号,表明他们需要更新才能AudioSystem与新 API 交互。较新的 Java 版本可能已经解决了这个问题。如果您忽略它,您的程序应该可以正常工作,但您可以尝试使用较新的 Java 版本,看看是否有帮助。
我建议编辑您的问题以包含您的系统规格和 Java 版本。
https://developer.apple.com/library/mac/releasenotes/General/CarbonCoreDeprecations/
我在 Macbook Pro(2011 年末)上运行 OSX El Capitan,使用 Python 3.5 和 SimpleCV 1.3。我的控制台警告(我猜)源于使用 Camera() 在 SimpleCV 中拍照时播放的快门声音。