Java Scala:[InputFormatException:null]

Java Scala:[InputFormatException:null],java,scala,Java,Scala,我不确定我做错了什么,但我正在使用Scala和。 我做错了什么 这是我的密码: def main { val source:File = new File("/Users/music/Desktop/leftright.wav") val target:File = new File("leftright.mp3") val audio:AudioAttributes = new AudioAttributes() audio.setCodec("li

我不确定我做错了什么,但我正在使用Scala和。 我做错了什么

这是我的密码:

def main {
    val source:File = new File("/Users/music/Desktop/leftright.wav")
      val target:File = new File("leftright.mp3")
      val audio:AudioAttributes = new AudioAttributes()
      audio.setCodec("libmp3lame")
      audio.setBitRate(new java.lang.Integer(128000))
      audio.setChannels(new java.lang.Integer(2))
      audio.setSamplingRate(new java.lang.Integer(44100))
      val attrs:EncodingAttributes = new EncodingAttributes()
      attrs.setFormat("mp3")
      attrs.setAudioAttributes(audio)
      val encoder:Encoder = new Encoder()
      encoder.encode(source, target, attrs)
}

def index = Action {
    main // placed it here just to test
    Ok(views.html.index("play")))
}
我只是跟着这些例子


来自控制台的完整堆栈跟踪:

[error] application - 

! @6hadcflf9 - Internal server error, for (GET) [/] ->

play.api.Application$$anon$1: Execution exception[[InputFormatException: null]]
    at play.api.Application$class.handleError(Application.scala:293) ~[play_2.10.jar:2.2.1]
    at play.api.DefaultApplication.handleError(Application.scala:399) [play_2.10.jar:2.2.1]
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$12$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:165) [play_2.10.jar:2.2.1]
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$12$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:162) [play_2.10.jar:2.2.1]
    at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) [scala-library-2.10.3.jar:na]
    at scala.util.Failure$$anonfun$recover$1.apply(Try.scala:185) [scala-library-2.10.3.jar:na]
Caused by: it.sauronsoftware.jave.InputFormatException: null
    at it.sauronsoftware.jave.Encoder.parseMultimediaInfo(Encoder.java:659) ~[jave-1.0.2.jar:na]
    at it.sauronsoftware.jave.Encoder.encode(Encoder.java:840) ~[jave-1.0.2.jar:na]
    at it.sauronsoftware.jave.Encoder.encode(Encoder.java:713) ~[jave-1.0.2.jar:na]
    at controllers.Application$.main(Application.scala:42) ~[classes/:na]
    at controllers.Application$$anonfun$index$1.apply(Application.scala:45) ~[classes/:na]
    at controllers.Application$$anonfun$index$1.apply(Application.scala:44) ~[classes/:na]
播放显示:

[InputFormatException: null]
In /Users/music/paydemo/app/controllers/Application.scala at line 42.
39      attrs.setFormat("mp3")
40      attrs.setAudioAttributes(audio)
41      val encoder:Encoder = new Encoder()
42      encoder.encode(source, target, attrs)
43  }

抛出
InputFormatException
(根据Jave的来源)

如果源多媒体文件无法解码


检查您的设置是否正确以解码文件。这些设置取决于您的文件。

@britva您错了。您不能重新分配
val
,但可以调用其类型的任何方法;这是图书馆的问题。您还应该提供堆栈跟踪。@AlexeyRomanov我在完整堆栈跟踪中编辑过