我一直在想:是否可以在LibGDX中使用通用吐温引擎来改变歌曲的音量?我用类似于SpriteAccessor的代码编写了自己的SpriteAccessor,这实际上适用于Sprite.class,但是当涉及到音乐对象时,总是会出现相同的错误:
java.lang.RuntimeException: No TweenAccessor was found for the target问题是,我确实通过:Tween.registerAccessor(Music.class,new MusicAccessor());注册了我的访问器--我很确定它实际上是被注册的,就像System.out.println(Tween.getRegisteredAccessor(Music.class));打印的:the.name.of.my.packages.MusicAccessor@14bb523。老实说我被困住了。
音乐文件本身是.mp3格式的,我通过资产管理器加载它。
所以,我的问题是:为什么吐温引擎不能正确识别我的音乐对象的类别?有没有办法让它工作,还是我被固定的计时器,以改变音量随着时间的推移?更改格式或以不同方式加载音乐文件会有帮助吗?
发布于 2014-01-07 19:16:40
我个人还没有使用吐温引擎,但我认为这可能是因为Music实际上只是一个接口。
对于不同的后端和不同的文件格式,有几种实现。例如,AndroidMusic、GwtMusic和另外三个OpenALMusic实现(它们都称为Music,位于com.badlogic.gdx.backends.openal.mp3/ogg/wav包中)。您可以将它们全部注册到您的访问器中,也可以使用我在代码中找到的Tween.cast(),但不可以在中间引擎的官方JavaDoc中找到。可能只出现在最新版本中。
https://stackoverflow.com/questions/20978847
复制相似问题