小编Dav*_*est的帖子

ffmpeg可以将音频转换为原始PCM吗?如果是这样,怎么样?

我目前正在使用ffmpeg将FLV/Speex成功转换为WAV/pcm_s16le.但是,我现在需要输出格式为RAW,即PCM签名的16位小端,没有WAV头.我尝试了以下方法:

ffmpeg -y -i input.flv -vn -acodec pcm_s16le output.raw
Run Code Online (Sandbox Code Playgroud)

但ffmpeg回应:

Unable to find a suitable output format for 'output.raw'
Run Code Online (Sandbox Code Playgroud)

我也尝试使用'output.pcm'和'output'作为输出文件名,结果相同.

我也尝试了ffmpeg标志来指定原始格式,但这给出了:

Unknown input or output format: raw
Run Code Online (Sandbox Code Playgroud)

这可能与FFmpeg一起使用吗?如果是这样,怎么样?

flv ffmpeg pcm

62
推荐指数
2
解决办法
8万
查看次数

Hibernate Session#merge在接收具有ID的实体时是否应该插入?

这似乎经常出现,但我用Google搜索无济于事.

假设你有一个Hibernate实体User.您User的数据库中有一个ID为1.

你有两个运行的线程,A和B.它们执行以下操作:

  • A获取用户1和closesSession
  • B获得用户1和delete
  • A更改用户1上的字段
  • A获得了一次新的Sessionmerge的用户1

我的所有测试都表明merge尝试在数据库中找到用户1(显然不能),因此它会插入一个id为2的新用户.

另一方面,我的期望是Hibernate会看到合并的用户不是新的(因为它有一个ID).它会尝试在DB中找到失败的用户,因此不会尝试插入或更新.理想情况下,它会抛出某种并发异常.

请注意,我使用乐观锁定@Version,这无济于事.

所以,问题:

  1. 我观察到的Hibernate行为是否是预期的行为?
  2. 如果是这样,在调用mergeJPA EntityManager而不是Hibernate 时是否有相同的行为Session
  3. 如果对2的答案是肯定的,为什么没人抱怨呢?

java concurrency hibernate jpa

10
推荐指数
1
解决办法
1668
查看次数

如何在Akka HTTP中将`text/plain`解组为JSON

我正在使用遗留的HTTP API(我无法更改),它在正文中以JSON响应,但是给出了一个Content-Type: text/plain; charset=utf-8标题.

我试图将HTTP主体解组为JSON,但我得到以下异常: akka.http.scaladsl.unmarshalling.Unmarshaller$UnsupportedContentTypeException: Unsupported Content-Type, supported: application/json

我的代码看起来像这样:

import spray.json.DefaultJsonProtocol
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport._
import akka.http.scaladsl.unmarshalling._

case class ResponseBody(status: String, error_msg: String)

object ResponseBodyJsonProtocol extends DefaultJsonProtocol {
  implicit val responseBodyFormat = jsonFormat2(ResponseBody)
}

def parse(entity: HttpEntity): Future[ResponseBody] = {
  implicit val materializer: Materializer = ActorMaterializer()
  import ResponseBodyJsonProtocol._
  Unmarshal[HttpEntity](entity).to[ResponseBody]
}
Run Code Online (Sandbox Code Playgroud)

HTTP响应示例如下所示:

HTTP/1.1 200 OK
Cache-Control: private
Content-Encoding: gzip
Content-Length: 161
Content-Type: text/plain; charset=utf-8
Date: Wed, 16 Dec 2015 18:15:14 GMT
Server: Microsoft-IIS/7.5
Vary: Accept-Encoding
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET …
Run Code Online (Sandbox Code Playgroud)

parsing json http spray-json akka-http

5
推荐指数
1
解决办法
2701
查看次数

如何在Sinatra中使用ActiveRecord :: Observer?

我在Sinatra 1.3.3应用程序中成功使用ActiveRecord 3.2.9.我希望能够使用ActiveRecord :: Observer类,但我不确定如何激活它们.

ActiveRecord :: Observer 文档特定于Rails有关此特定位:

要激活观察者,请在config/application.rb文件的config.active_record.observers配置设置中列出它.

当然,我没有设置此设置的"config"对象.有任何想法吗?

编辑

我尝试像这样激活观察者:

ActiveRecord::Base.observers = [ :thermometer_reading_observer ]
Run Code Online (Sandbox Code Playgroud)

这样做,因为它们设置正确,但它们仍然没有做任何事情:

[4] pry(main)> ActiveRecord::Base.observers
=> [:thermometer_reading_observer]
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails sinatra

2
推荐指数
1
解决办法
421
查看次数